错误的程序集版本带来了依赖性

时间:2013-09-26 05:33:08

标签: .net visual-studio-2012

我的 assembly_A 取决于NuGet的* some_framework * v2.1。 然后我有一些依赖于 assembly_A assembly_B ,但是当我编译解决方案时,它是版本2.0 - 而不是带有 assembly_B的* some_framework *的2.1

我的猜测是构建选择了v2.0,因为这是我的GAC中的版本,但我需要v2.1 ...没有其他依赖使用* some_framework *。明显的旁路是让 assembly_B 依赖于* some_framework * v2.1到NuGet,但这不是很优雅!

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:0)

您有独特的解决方案吗?如果没有,请尝试使用nuget config file为项目保留相同的包文件夹。

我的想法是:

  • 您在 assembly_A
  • 上安装了您的依赖项
  • assembly_B (已经引用 assembly_A )中,您使用了已安装的依赖项代码(在csproj上添加dll)
  • assembly_A 上,您从nuget更新了您的依赖关系,但在 assembly_B (csproj)上,引用继续使用旧版本

查看 web.config>运行时> assemblyBinding 部分设置了依赖项的版本

在后一种情况下,转到程序包的目录,查看其依赖项是否包含不同的版本。如果有,请删除旧版本并重建解决方案以检查项目引用。