您的位置:首页 > 其它

CA0001,CA0058,,Assembly Binding Redirection and Code Analysis,无法解析程序集引用

2012-09-04 09:08 573 查看

今天在编译添加了程序集签名的工程的时候,意外遇到如下错误,试了很多方法都不见效。

下面是错误信息:

CA0001 : 读取模块“***”时遇到以下错误: 无法解析程序集引用: ***.Common.NormalModel, Version=1.0.4629.31944, Culture=neutral, PublicKeyToken=366fc8dc0356ba75

CA0058 : 未能找到引用的程序集“***.Common.NormalModel, Version=1.0.4629.31944, Culture=neutral, PublicKeyToken=366fc8dc0356ba75”。此程序集是分析所必需的且已由 E:\WorkSpace\***Client.exe 引用。



在网上搜索了同样的问题,看到了http://stackoverflow.com/questions/4042855/assembly-binding-redirection-and-code-analysis 这篇文章,里面也是遇到了同样的问题。

按它的说法,引起该问题的原因是程序集签名后默认会检测所引用的DLL和记录的版本,会强制要求引用时的版本必须和现在最新的DLL版本一致,否则会报错;

其实本身这个验证时OK的,也是合理的,但是我们开发期间,DLL太多了,我不可能随时都来修改这些版本号,因此,最好直接禁用了;

下面是禁用方法,就是将所有编译相关的PropertyGroup节点下加入

<CodeAnalysisAdditionalOptions>/assemblyCompareMode:StrongNameIgnoringVersion</CodeAnalysisAdditionalOptions>
子节点,目的是在代码分析,强名称忽略版本差异;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐