visual-studio-2012 - Visual Studio 2012 重定向 Microsoft.TeamFoundation.Client.dll 的绑定(bind)

标签 visual-studio-2012 msbuild tfsbuild

我有一个 C#/.NET 4.0 项目,它是一个 DLL 库,其中包含一些用于 TFS 2010 构建工作流的自定义事件。该项目编译并且一切都在我们的开发箱上运行。

在我们的构建服务器上,我们最近安装了 Visual Studio 2012 并发现我们的构建现在因此错误而失败

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ReferenceAssemblies\v2.0\Microsoft.TeamFoundation.Client.dll: Assembly 'Microsoft.TeamFoundation.Client, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' uses 'Microsoft.TeamFoundation.Common, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' which has a higher version than referenced assembly 'Microsoft.TeamFoundation.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'

我到处搜索,找不到如何/为什么所有对 Microsoft.TeamFoundation.Client.dll 的调用在我们的 DEV 框上解析为 v 10.0.0,现在在构建服务器上解析为 11.0.0.0。我找不到程序集绑定(bind)重定向,没有发布者政策,什么都没有!

我只需要强制 MSBuild 和构建过程引用构建服务器上所有相关 DLL 的 v 10.0.0 而不是 v 11.0.0.0。任何帮助将不胜感激。

请注意,这与“XAML 工作流”问题无关,而是编译一个恰好引用 Microsoft.TeamFoundation.Client.dll 10.0.0.0 的 DLL 项目

最佳答案

在记事本中打开自定义事件库的 .csproj。更新 TFS 程序集引用,删除特定于版本的元数据。

即使您将“特定版本”属性设置为 False,它仍然可能具有附加到引用的特定版本元数据:

<Reference Include="Microsoft.TeamFoundation, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>$(Dependencies)\TeamFoundationClient\Microsoft.TeamFoundation.dll</HintPath>
</Reference>

删除元数据应该可以正确构建该项目。

<Reference Include="Microsoft.TeamFoundation">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>$(Dependencies)\TeamFoundationClient\Microsoft.TeamFoundation.dll</HintPath>
</Reference>

关于visual-studio-2012 - Visual Studio 2012 重定向 Microsoft.TeamFoundation.Client.dll 的绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17070572/

相关文章:

c# - 而不是 "Data Row 0", "Data Row 1"等输出自定义名称

c# - 如何在 if 语句中关闭/重新打开标签

ios - TableView 在 iOS 设备上不工作

c# - 如何在 .NET Standard 2.0 库项目中将版本附加到程序集输出文件名

c# - 自 TFS .NET 4.5 升级以来,以 .NET 4.0 为目标会产生无效的 Win XP 应用程序

TFS2012 - 复制诊断事件日志时拒绝访问

TFS 2012 禁用多次 checkout 不起作用

c# - 如何将自定义构建参数添加到 Visual Studio 2013 C# 项目?

svn - 在Jenkins Pipeline中构建特定的修订版

msbuild - 在 ASP.NET 5 的 Visual Studio Online 构建期间未定义或导入预定义类型 'System.Void'