autofac / Autofac.Extras.DynamicProxy

Interceptor and decorator support for Autofac IoC via Castle DynamicProxy
MIT License
106 stars 33 forks source link

added support for .NETStandard1.3 #11

Closed gdereese closed 7 years ago

gdereese commented 8 years ago

via upgrading Castle.Core dependency to >= 4.0.0-beta001

See issue #8

tillig commented 8 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.

tillig commented 8 years ago

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.

gdereese commented 8 years ago

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.

gdereese commented 8 years ago

So, since the System.Runtime.Remoting stuff (transparent proxies) has been removed from .NET Core, how should we deal with the RegistrationExtensions.InterceptTransparentProxy() method?

tillig commented 8 years ago

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.

tillig commented 7 years ago

As of version 4.2.0 we have netstandard1.3 support.