(编辑2/16/2018 - 复兴问题的目的)
我一直在使用一个项目(使用C#和Visual Studio 2015)为我创建一个安装程序,让Jenkins签出开发分支,恢复所有NuGet包,然后让NANT创建一个.msi安装程序。直到最近,这种设置一直没有问题;但是,在尝试测试新功能时,遇到了项目无法加载特定程序集引用的问题。
经过调查,我发现log4Net版本2.0.0(又名1.2.11.0)是原因。进一步调查显示,工作区具有所有引用的所有.dll的所有正确版本。为了进一步增加复杂性,我尝试了以下所有疑难解答方法:
尝试强制执行'SpecificVersion'为'true'和'false'
浏览每个package.config,web.config,app.config和.csproj文件,并手动将我发现的所有log4Net参考文献更改为参考版本2.0.0
在使用它的解决方案的各个方面卸载/重新安装log4net
尽管所有这些调查/故障排除方法,.msi文件仍包含/安装log4Net的错误.dll。安装的.dll是版本1.2.9.0,这会导致应用程序中断,因为它期望的版本高于可用版本。起初,我只是将它放在已安装文件夹中的正确.dll中;但是,这个解决方案不可行,我开始看到类似问题影响其他nuget包的情况。
有没有人知道什么会导致NANT拉出错误的NuGet包版本,以及如何解决这个问题?