将TeamFoundation dll升级到2017后的MSBuild错误

时间:2018-06-19 14:41:19

标签: dll tfs msbuild

因此,我们在项目中使用了2013 TFS dll(即TeamFoundation.Client,TeamFoundation.VersionControl.Client和TeamFoundation.Common)。我最近将项目升级为使用上述dll的2017版本(我们拥有VS2017)。我从下面的文件夹中获取它们。

Trip_router.register(r'places', views.PlaceViewSet, base_name='trips-places')\

升级后,在构建解决方案时,出现以下错误:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer

我对MSBuild不熟悉,所以不确定如何进行。

该错误将我带到MSBuild代码中的以下行:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\Microsoft.NET.Build.Extensions.NETFramework.targets(56,5): warning : Resolved file has a bad image, no metadata, or is otherwise inaccessible. The system cannot find the path specified. (Exception from HRESULT: 0x80070003)

2 个答案:

答案 0 :(得分:1)

Visual Studio 2017和DependsOnNETStandard存在一个悬而未决的问题,希望可以在15.8中解决

今天,在升级最初由VS 2015创建并升级到VS 2017的项目时,我遇到了同样的问题。

项目升级似乎错过了XML所需的一些元素。

如果您编辑受影响项目的csproj文件并添加

<DependsOnNETStandard>false</DependsOnNETStandard>
像这样

到达顶部的PropertyGroup:

<PropertyGroup>
  ...
  <DependsOnNETStandard>false</DependsOnNETStandard>
</PropertyGroup>

它应该解决问题。对我有用。

有关此问题的详细信息及其讨论,请访问: https://github.com/dotnet/sdk/issues/1544

答案 1 :(得分:0)

根据您的错误日志信息,似乎您正在尝试通过Visual Studio或MsBuild命令而不是TFS构建本地构建。

建议您使用最新版本的dll Microsoft.TeamFoundationServer.Client,并将Visual Studio 2017升级到最新版本。对于The system cannot find the path specified.问题,请尝试

  • 清理所有项目。
  • 卸载所有项目
  • 重新加载所有项目。
  • 重建解决方案

另一种方法是:

  • 关闭解决方案
  • 删除bin文件夹
  • 删除所有obj文件夹
  • 打开解决方案并构建

如果上述所有方法仍然无效,建议您添加更详细的日志和示例代码以进行故障排除。