加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

.net – 警告:在同一个依赖程序集的不同版本之间发现冲突

发布时间:2020-12-14 01:50:19 所属栏目:百科 来源:网络整理
导读:我目前正在开发一个.NET应用程序,它由20个项目组成。其中一些项目是使用.NET 3.5编译的,其他一些仍然是.NET 2.0项目(到目前为止没有问题)。 问题是,如果我包括一个外部组件,我总是得到以下警告: "Found conflicts between different versions of the sa
我目前正在开发一个.NET应用程序,它由20个项目组成。其中一些项目是使用.NET 3.5编译的,其他一些仍然是.NET 2.0项目(到目前为止没有问题)。

问题是,如果我包括一个外部组件,我总是得到以下警告:

"Found conflicts between different versions of the same dependent assembly".

这个警告究竟是什么意思,是否有可能排除此警告(如在源代码文件中使用#pragma disable)?

此警告意味着两个项目引用同一程序集(例如System.Windows.Forms),但这两个项目需要不同的版本。您有几个选项:

>重新编译所有项目以使用相同的版本(例如,全部移动到.Net 3.5)。这是首选的选项,因为所有代码都是使用编译的依赖关系的版本运行的。
>添加一个binding redirect.这将抑制警告。但是.Net 2.0项目(在运行时)将绑定到.Net 3.5版本的依赖程序集,如System.Windows.Forms。您可以通过双击Visual Studio中的错误快速添加绑定重定向。
>使用CopyLocal = true。我不知道这是否会抑制警告。它将像上面的选项2,意味着所有项目将使用.Net 3.5版本的System.Windows.Forms。

这里是一个实用程序来识别违规的参考:

https://gist.github.com/1553265

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读