通过引用同一程序集的多个版本生成的警告是否可忽略?

时间:2012-04-05 18:50:46

标签: c# visual-studio

我当前的一个项目是将数据类型从版本3转换为共享库的版本4。数据模型已经以多种方式进行了修改,从而破坏了API(例如,大量的Shared.Type.DumbNameShared.Type.SmartName更改),因此转换过程不会是简单的一对一映射。 / p>

要进行此转换,我在库的第4版中引用版本3,并使用extern aliases来解析相关类型。我已经设置了一个测试项目,该项目引用了具有必需binding redirects的库的两个版本。测试项目似乎正常运行,但在构建期间我收到以下警告:

  

无法解决“Shared,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = [token]”和“Shared,Version = 3.6.8.0,Culture = neutral,PublicKeyToken = [token]”之间的冲突。选择“Shared,Version = 4.0.0.0,Culture = neutral,PublicKeyToken =”任意选择。 C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets 1360

  

发现同一依赖程序集的不同版本之间存在冲突。 C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets 1360

可以安全地忽略这些警告吗?

1 个答案:

答案 0 :(得分:0)

修复警告的最佳做法是,警告不能一直被忽略。这些警告与版本控制和框架有关,请确保在所有项目中引用相同版本的dll。