【问题标题】:DLL version clashes in different NuGet packages不同 NuGet 包中的 DLL 版本冲突
【发布时间】:2018-06-13 07:52:00
【问题描述】:

在我的解决方案中,一些项目引用了“MahApps”NuGet 包,其中包括“System.Windows.Interactivity.dll”4.5.0.0。一些项目还引用了“Prism”NuGet 包,其中包括“System.Windows.Interactivity.dll”4.0.0.0

顺便说一句,app.config 有一个绑定重定向“0.0.0.0-4.5.0.0”到“4.5.0.0”。

少数项目引用了两个 NuGet 包,并查看它们的“参考”列表,其中一些具有 S.W.I v4.5.0.0,而另一些具有 v4.0.0.0。 (我猜这种随机性取决于将软件包安装到项目中的顺序)。

有时该解决方案会构建并运行良好,但如果仅在其中一个引用 SWI 4.0.0.0 的项目中进行代码更改,则会出现运行时错误,类似于“找不到 v4.5.0.0” . v4.0.0.0 被复制到构建输出文件夹,但我的绑定重定向告诉它期待 4.5.0.0。

对解决方案有任何想法吗?我可以尝试卸载并重新安装导致问题的项目中的包,看看我是否可以让它们引用 MahApps 包中的 4.5.0.0,但我担心这可能无法保证在包恢复期间工作,为另一个开发人员(或构建服务器)搞砸了。

【问题讨论】:

    标签: visual-studio-2013 nuget nuget-package nuget-package-restore


    【解决方案1】:

    我最终升级到 Prism 6,其中不包含除自己的 DLL 之外的任何 DLL。谢天谢地,这是一项简单的工作。

    我还必须删除 MahApps 包,然后再次添加它,以让 Visual Studio 添加该包的 System.Windows.Interactivity.dll (4.5.0.0)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-14
      • 2018-10-26
      • 1970-01-01
      • 2012-05-30
      • 1970-01-01
      相关资源
      最近更新 更多