ast*_*tef 9 .net c# visual-studio-2017
使用VS2017,我在一个空的解决方案中创建了一个ClassLibrary(.NET Framework 4.6.2).然后我在那里安装了System.Net.Http 4.3.2包,并HttpClient在Class1构造函数中使用了类.
然后我创建了一个ConsoleApp(.NET Framework 4.6.2),引用了ClassLibrary并Class1在Main方法中实例化.
现在运行ConsoleApp会导致运行时异常:
未处理的异常:System.IO.FileNotFoundException:无法加载文件或程序集'System.Net.Http,Version = 4.1.1.1,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一.该系统找不到指定的文件.在[...]中的ConsoleApp1.Program.Main(String [] args)的ClassLibrary1.Class1..ctor()中
在详细的构建日志中,我看到以下消息:
2>"System.Net.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a"和"System.Net.Http,Version = 4.1.1.1,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a"之间存在冲突.
2>选择"System.Net.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a",因为它是主要的,"System.Net.Http,Version = 4.1.1.1,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a " 不是.
假设我无法System.Net.Http从ConsoleApp中删除引用,因为我在实际项目结构中有这种情况.
Specific Version的参数System.Net.Http
引用并没有帮助.<bindingRedirect oldVersion="0.0.0.0-4.1.1.1"
newVersion="4.1.1.1" />没有帮助我用谷歌搜索了它,这是一个受欢迎的问题,但我没有找到实际发生的事情以及如何解决这类案件的明确解释.
无法加载文件或程序集System.Net.Http版本4.1.1.0
无法加载文件或程序集"System.Net.Http"或其依赖项之一
关于冲突:
我想知道为什么您选择使用 NuGet 包而不是使用引用管理器来加载适当的程序集。默认情况下VS的很多项目模板都包含System.Net.Http。如果您使用 NuGet 包资源管理器来安装程序集,那么以下两个选项之一应该会有所帮助:
删除 NuGet 包并使用参考管理器中指定的版本(在程序集/框架下查看),尽管我打赌这已经被选中。
在引用管理器中,取消选择分配的 System.Net.Http 版本并使用随 NuGet 安装的版本。
我个人认为选项 1 更好,除非您绝对需要仅在 NuGet 最新版本中找到的特定内容。
| 归档时间: |
|
| 查看次数: |
5802 次 |
| 最近记录: |