【发布时间】:2018-12-07 13:00:21
【问题描述】:
我有一个包含 40 多个项目的解决方案。 在大多数这些项目中,我使用的是通过 NuGet 安装的 System.Net.Http。在撰写本文时,我们已经从 Nuget 安装了 v4.3.3。这也是packages.config中写入的内容
<package id="System.Net.Http" version="4.3.3" targetFramework="net47" />
当我查看我的 app.config 时,我在这里使用了不同的版本。在我的一些配置中,版本被列为 4.1.1.2,在其他配置中,它被列为 4.2.0.0。我猜这些是内部版本,但我发现在两个不同的项目上安装相同的 NuGet 会给我两个不同的内部版本。
一个 app.config:
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.1.2" newVersion="4.1.1.2" />
</dependentAssembly>
另一个 app.config:
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
我已尝试在 Nuget 中降级然后再次升级,以便更新 packages.config 和 app.config。并且文件已更新。 但是在某些 app.config 中,我得到的版本比其他版本中的不同。与excat相同的NuGet版本,同时安装。
什么给了?
我在这里阅读了很多关于 SO 的主题,但没有一个完全有同样的问题。大多数时候,人们通过升级到最新版本来解决他们的问题,这在这里没有帮助。
我猜我可能有其他参考资料将 System.Net.Http 的版本强制为该项目的旧版本,但是有什么方法可以确认这个论点吗?另外,如果确实如此,是否可以强制所有项目运行最高通用版本而不是不同版本?
【问题讨论】:
标签: .net visual-studio nuget nuget-package