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

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

下面是错误信息: 

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> 

 子节点,目的是在代码分析,强名称忽略版本差异;

 

posted @   遥望星空  阅读(1273)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示