2014-10-17 89 views
0

我从TFS加载项目到我的本地机器。但它需要log4Net库,我从互联网上下载。它被成功地重建。但是当它运行时,就会出现异常。应用程序中存储的版本和publickey令牌信息在哪里?

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) 

我知道这是混合版本和publickey令牌的问题。但是我的问题是,当代码在Visual Studio中运行时,它如何知道它在版本1.2中需要log4net?任何人都可以帮忙谢谢。

+0

任何人都可以找到可以帮助约公钥令牌的存储? – 2014-10-20 06:44:32

回答

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 --> 

一些更多的信息可以在this very site

+0

谢谢你的回应。但是,A.dll如何知道它需要这个特定版本的log4net?我假设某些版本绑定信息必须存储在某个地方。我错过了什么吗? – 2014-10-20 11:30:17

相关问题