我将项目从TFS加载到本地计算机。但它需要log4Net库,我从互联网上下载。它成功重建。但是当它运行时,异常就会出现。
Could not load file or assembly 'log4net, Version=1.2.10.0, Culture=neutral,
PublicKeyToken=1b44e1d426115821' or one of its dependencies.
The located assembly's manifest definition does not match the assembly reference.
(Exception from HRESULT: 0x80131040)
我知道这是混合版本和公钥令牌的问题。但我的问题是,当代码在visual studio中运行时,它怎么知道它需要在version1.2中使用log4net?有人可以帮忙吗?谢谢。
答案 0 :(得分:0)
这里有一个项目中的程序集referencing与此版本的log4net程序集;它可以是直接引用,也可以是间接引用(您的项目引用引用log4net.dll的A.dll)
查看您的项目以查找引用程序集,并满足引用(通过nuget获取正确的版本,这是最简单的)或更改它。引用的程序集包含在项目文件(* .csproj或适用于您的语言的任何扩展名)中,并带有Reference
标记
当您包含参考时,命名强度取决于您选择的设置:
<Reference Include="name">
<!-- here no version is specified because no specific version is needed -->
<Reference Include="name, Version=xxx, Culture=neutral, processorArchitecture=MSIL">
<-- version is specified, perhaps because a specific version was referenced at one time -->
找到更多信息