Closed gdereese closed 7 years ago
Have you tried consuming the .nupkg generated by this build in a netstandard 1.3 project? The reason I ask: If I create a new .csproj-based class library in VS and tell it to target a .NET standard, It adds a project.json file, sets <TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
in the .csproj, updates the ProjectTypeGuids
node in the .csproj, and so on. If, instead, I tell it that I want it to be a portable project, I get a bunch of other changes in the .csproj to ensure it's targeting the right profile.
I'm curious if this is actually building an assembly that is truly netstandard 1.3 compatible or if it's just building a NuGet package that has a .NET 4.5.1 assembly in it that won't be correctly compatible if consumed.
Note that generally we've found that in order to target a netstandard platform you have to switch the whole project to use the dotnet CLI, use the same build as Autofac core (with the PowerShell module we use, etc.).
The way I've been converting things to the new platform is:
It's... not super fast. That's why it's been taking a long time to get each one correctly converted and tested out.
To your first question: The package with the changes I made does not support .NET Standard 1.3:
`Package Autofac.Extras.DynamicProxy 4.0.0-beta001 is not compatible with netstandard1.3 (.NETStandard,Version=v1.3). Package Autofac.Extras.DynamicProxy 4.0.0-beta001 supports: net451 (.NETFramework,Version=v4.5.1) Package Autofac 3.3.1 is not compatible with netstandard1.3 (.NETStandard,Version=v1.3). Package Autofac 3.3.1 supports:
So it looks like the reference to Autofac needs to be updated to one that supports .NET Standard, which appears to be 4.0.0-rc2-240.
To your next point: Thanks for letting me know your process. I'll work toward that end and add commits once that is done.
So, since the System.Runtime.Remoting stuff (transparent proxies) has been removed from .NET Core, how should we deal with the RegistrationExtensions.InterceptTransparentProxy() method?
My first instinct on the transparent proxy thing is to do conditional compilation so it will be included for the full framework library but excluded from the netstandard version.
via upgrading Castle.Core dependency to >= 4.0.0-beta001
See issue #8