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

前端之家收集整理的这篇文章主要介绍了.net – 警告:在同一个依赖程序集的不同版本之间发现冲突前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前正在开发一个.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

原文链接:https://www.f2er.com/javaschema/283268.html

猜你在找的设计模式相关文章