获取以下构建错误。
错误15未知的构建错误,'无法加载文件或程序集 'log4net,版本= 1.2。 11 .0,文化=中立, PublicKeyToken = 669e0ddf0bb1aa2a '或其中一个依赖项。该 找到程序集的清单定义与程序集不匹配 参考。 (HRESULT异常:0x80131040)'
我不知道怎么回事。 我尝试使用GUI作为参考,它没有帮助。已经花费了1.5个小时,问题仍然存在。
我现在直接转到项目文件,对log4net的唯一引用如下:
<Reference Include="log4net, Version=1.2.12.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> <HintPath>..\..\ExternalDlls\.NET 4.0\log4net.dll</HintPath> </Reference>
我仍然收到此错误。为什么甚至提到V1.2。 11 ?
提前致谢
答案 0 :(得分:3)
好的,最后还是有了构建工作。
我浏览了所有其他项目并执行了 Resharper - 删除未使用的引用操作。
完成后,项目开始构建。
答案 1 :(得分:1)
您可以查看路径 .... \ ExternalDlls.NET 4.0 \ log4net.dll 中实际存在的版本,并查看 GAC 中的版本。
删除GAC中的版本,从项目文件中删除以下引用,然后从 ExternalDlls 文件夹中再次添加
<Reference Include="log4net, Version=1.2.12.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\ExternalDlls\.NET 4.0\log4net.dll</HintPath>
</Reference>
答案 2 :(得分:1)
如果要创建引用log4net的nuget包,请确保您的nuspec文件指定了正确的log4net版本(这是我在log4net发布新版本后遇到的问题)。并确保如果您不想使用最新版本的log4net,则使用“[”和“]”封装您的版本,以便它不会获得最新版本。看到这个.. http://docs.nuget.org/docs/reference/versioning#Specifying_Version_Ranges_in_.nuspec_Files
希望这有助于某人。
答案 3 :(得分:0)
我今天面对这个问题。为了解决这个问题,我通过visual studio删除了Bin文件夹中的log4net.dll文件引用。并重建网站。 它会自动获取log4net dll。这解决了问题。此问题的原因是通过visual studio的Reference绑定可能与实际文件版本无关。