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

本文关键字:警告 是否 引用 程序集 版本 | 更新日期: 2023-09-27 18:30:23

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

为了进行此转换,我在库的版本 4 中引用版本 3,并使用 extern 别名来解析相关类型。我已经设置了一个测试项目,该项目使用必要的绑定重定向引用了库的两个版本)。测试项目似乎正常运行,但在构建过程中收到以下警告:

无法解决"共享,版本=4.0.0.0,区域性=中性,公钥令牌=[令牌]"

和"共享,版本=3.6.8.0,区域性=中性,公钥令牌=[令牌]"之间的冲突。任意选择"共享,版本=4.0.0.0,区域性=中性,公钥令牌="。 C:''Windows''Microsoft.NET''Framework''v4.0.30319''Microsoft.Common.targets 1360

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

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

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

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