的StackOverflow !
一点史前史:
我有一个目标.NET Framework platform = 4.0 的项目
它在 app.config 中的<dependencyAssemblies>
部分中有很多<assemblyReference>
在一个美好的日子里,我选择将此版本更改为.NET 4.7
首先,我清楚所有<runtime>
部分
并在update-package -reinstall
中运行命令Package Manager Console
我的项目正确构建。一切都很好,但后来我尝试运行单元测试项目。
构建时我在输出控制台中接收了这种类型的警告:
Consider app.config remapping of assembly
"Microsoft.Owin, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
from Version "2.1.0.0" [] to Version "4.0.0.0"
[C:\Src\packages\Microsoft.Owin.4.0.0\lib\net451\Microsoft.Owin.dll]
to solve conflict and get rid of warning.
P.S。但在我的app.config <runtime>
部分不存在!哪里找到2.1版本的Microsoft.Owin?
但在运行时我得到这个错误:
System.IO.FileLoadException : Could not load file
or assembly 'Microsoft.Owin, Version=2.1.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located
assembly's manifest definition does not match the assembly reference.
(Exception from HRESULT: 0x80131040)
当我尝试使用某些代码时出现此错误:using Microsoft.Owin;
我觉得我的项目有一个隐藏引用旧版本的Microsoft.Owin库,但是......按所有解决方案搜索,包括csproj文件(Owin的2.1版本)都不会产生结果。
我不明白为什么我的项目需要该库的旧版本,如果项目包含最新版本及其参考。
请帮助,谢谢!