我的解决方案由多个项目组成并且编译良好。我正在使用 nuget,我使用的包之一是 log4net.2.0.0。我最近将包更新为 log4net.2.0.3 并确保在属于该解决方案的每个项目中,参考都已更新。不幸的是,我在编译过程中仍然收到以下警告:
(ResolveAssemblyReferences 目标)-> C:\Program Files
(x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targe
ts(1635,5):警告 MSB3276:发现不同之间存在冲突
同一从属程序集的版本。请设置
项目文件中的“AutoGenerateBindingRedirects”属性设置为 true。
有关更多信息,请参阅http://go.microsoft.com http://go.microsoft.com/fwlink/?LinkId=294190。
或者使用 /verbosity:detailed 编译时此警告的更详细版本
考虑重新映射程序集“log4net, Culture=neutral,
PublicKeyToken=669e0ddf0bb1aa2a”从版本“1.2.11.0”[]到版本
“1.2.13.0”
[Z:\xxx\packages\log4net.2.0.3\lib\net40-full\log4net.dll]
解决冲突并消除警告。 C:\程序文件
(x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1635,5):
警告 MSB3276:发现不同版本之间存在冲突
相同的依赖程序集。请设置“AutoGenerateBindingRedirects”
项目文件中的属性为 true。有关更多信息,请参阅http://go.microsoft.com/fwlink/?LinkId=294190 http://go.microsoft.com/fwlink/?LinkId=294190。
[Z:\xxx\xxx\xxx\xxx.csproj]
AssemblyFoldersEx 位置:
“{注册表:软件\Microsoft.NETFramework,v4.5,AssemblyFoldersEx}”
我明白这意味着什么,不幸的是我无法追踪哪个项目/库仍然引用旧版本的 log4net。我知道我可以通过简单地在 app.config 中重新映射来掩盖警告,但这似乎是把问题掩盖起来,而不是真正正确地解决它。
在我的解决方案中跟踪我引用旧版本 log4net 的最佳方法是什么?我已经尝试了所有明显的方法,包括在所有文件中搜索版本号。我还确保没有其他 nupkgs 将依赖项设置为该特定版本的 log4net。
任何帮助将非常感激。
感谢我的爸爸和https://github.com/mikehadlow/AsmSpy https://github.com/mikehadlow/AsmSpy我设法发现:
参考:log4net
1.2.11.0 通过 SuperSocket.SocketBase
哈哈!非常方便的工具!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)