Skip to content
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

Please remove the dependency on System.Net.Http nuget package #19

Closed
sablanc-msft opened this issue Dec 16, 2022 · 4 comments
Closed

Please remove the dependency on System.Net.Http nuget package #19

sablanc-msft opened this issue Dec 16, 2022 · 4 comments

Comments

@sablanc-msft
Copy link

The System.Net.Http nuget creates all sorts of conflicts in our applications. I was meant as a service release a while back and it points to an older version of the dll.

Here is some info on the matter:

https://stackoverflow.com/questions/51193310/should-i-use-the-system-net-http-nuget-package/58874418#58874418

@tillig
Copy link
Member

tillig commented Dec 16, 2022

Can you be more explicit than "all sorts of conflicts?" We're using System.Net.Http 4.3.4, which isn't one of the "broken versions" outlined in the post-mortem of System.Net.Http issues; the reference has been here for two years with well over a million downloads of package versions including it, but you're the first to find an issue; and the reference was out there to address #10 which had other runtime failures.

Basically, we can't just remove it without knowing exactly what the issue is, in detail, ideally with a minimal repro because removing it can potentially regress issues that were already solved. There may be a different way to solve the problem, but we'd need to see it in action.

@sablanc-msft
Copy link
Author

sablanc-msft commented Dec 16, 2022

All our production code and tests use the dll that comes with the .Net Framework 4.7.2. We even have binding redirects to that version to make sure of that, but we add the reference to Autofac.WebApi.Owin and thus the dependency to System.Net.Http nuget 4.3.4, those binding redirects don't seem to be working anymore and we get runtime errors saying that the system cannot find dll 4.2.0.0. We can remove the binding but then some of our production code and tests would be using the older version of the dll (4.1.1.3) that comes with the nuget, and other projects would be using 4.2.0.0.

Having this direct dependency forces all consumers of Autofac.WebApi.Owin to also consume the System.Net.Http nuget even though that dll is already part of the framework. Why can’t you use multi-targeting here and reference different versions of the dll for different framework version, or remove the version requirement and just use 'Reference Include="System.Net.Http"' ?

I understand the issue mentioned above regarding Framework 4.7.1, but can’t that be solved with binding redirects instead of forcing everybody else to downgrade to an earlier version of the System.Net.Http dll?

@tillig
Copy link
Member

tillig commented Dec 16, 2022

We will take no action here until we can get a minimal repro so we can validate the issue and consider options. I'm sorry, I'm going to be pretty hard on this. If you aren't able or are unwilling to provide such a minimal repro so we can see the issue, you are welcome to fork Autofac.WebApi.Owin and maintain your own custom copy that has the references fixed up the way that works for your specific project. The code is MIT license so there shouldn't be any legal issues doing that.

@tillig tillig added the pending-input Pending input or update label Dec 16, 2022
@tillig
Copy link
Member

tillig commented Jul 13, 2023

Since no feedback has come through on this, I'm closing the issue. If a minimal repro can be created to illustrate the problem, we can revisit at that time.

@tillig tillig closed this as completed Jul 13, 2023
@tillig tillig removed the pending-input Pending input or update label Jul 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants