我们有一个由5个项目组成的.NET解决方案;其中3个是标准库'我们在任何地方都使用并且是特定于产品的。
当我使用详细日志编译时,我看到了数百个冲突错误。
所以我简化了前两个项目,我仍然得到很多这样的行:
'参考:System.IO,Version = 4.1.1.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a,processorArchitecture = MSIL'之间发生冲突。和'参考:System.IO'。选择'参考:System.IO'因为AssemblyVersion' 4.1.2.0'大于< 4.1.1.0'。
Lib 1没有直接引用System.IO; Lib 2引用它并具有版本4.1.2.0
所以,我猜Lib 1间接依赖于System.IO。 在查看引用之后,事实证明System.IO.Filesystem依赖于System.IO,但是来自旧版本。
真正的问题是这些错误是否会导致问题?有大量的,因为我们经常在共享库中使用nuget版本地狱,并且总是必须删除app.config中的引用以获得任何编译,我很好奇这是否应该看起来更多进入与否。
我假设app.config是将一个版本重新映射到另一个版本,但是使用共享代码它确实非常糟糕。