New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding net47 target. #111

Closed
wants to merge 2 commits into
base: dev
from

Conversation

Projects
None yet
2 participants
@softarch74

softarch74 commented Apr 28, 2018

These changes add net47 as a target build, resolving issues with System.Net.Http in cases where you don't have a viable binding redirect option (such as creating a powershell cmdlet).

@leastprivilege

This comment has been minimized.

Contributor

leastprivilege commented Apr 29, 2018

This seems silly - do you know why Powershell doesn't use the NetStandard2 target automatically?

@leastprivilege leastprivilege self-assigned this Apr 29, 2018

@softarch74

This comment has been minimized.

softarch74 commented Apr 29, 2018

Great question!

My first thought in addressing this issue was to hook the App Domain's assembly resolve event. However, it was never called in order to resolve this assembly (it works perfectly for Newtonsoft).

Looking at the loaded modules in the process, I did see two system.net.http assemblies. One that came from the Oidc nuget references (located in the same folder as my dll) and the other from.... wait for it... The freaking GAC!

This was with a clean powershell instance, so I didn't want to edit or create a config file for the powershell.exe. That seems like a bad idea. I can't control my consumers environment like that.

I was able to reproduce the exact issue with a simple net461 console app. You just had to remove the assembly redirect for system.net.http from the app.config.

@leastprivilege

This comment has been minimized.

Contributor

leastprivilege commented Apr 30, 2018

Please also add the target to the test project and run the build.ps1 file to run tests for net47

@leastprivilege

This comment has been minimized.

Contributor

leastprivilege commented May 8, 2018

There is a long list of related issues

#31
#38
#49
#70
#76

I tried to involve @terrajobst since he is the expert on these things

https://twitter.com/leastprivilege/status/991908438962851840

So the main question is - should a net4xx build target reference the HttpClient nuget package - or the one from the .NET Framework. When you go through the above list, different people have different with one or the other.

@leastprivilege

This comment has been minimized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment