0
 X <= nuget package A <= DLL version 1
 X <= nuget package B <= DLL version 2

所以我的项目 X 引用了两个 3rd 方 nuget 包 A 和 B。两个包都引用了相同的 DLL,但版本不同。现在的问题似乎是在构建时,DLLv1 被 bin 文件夹中的 DLLv2 覆盖。并且在运行时,A 中的代码抱怨找不到 DLLv1。

我已经在 bin 文件夹中添加了一个程序集绑定配置文件以绑定到 DLLv2。但这似乎并没有改变什么。

这是一个使用 msbuild 构建的 CSharp 项目。

问题:

  1. AssemblyBinding 是解决这个问题的正确工具吗?
  2. 解决此问题的正确方法是什么?
4

1 回答 1

0

我找到了问题的根本原因。我的程序在 powershell 中运行,并且 powershell 不会加载我的应用程序的配置。我需要制作 powershell 的配置来进行绑定。

于 2017-03-10T01:17:15.760 回答