我正在尝试更新 Visual Studio 扩展以兼容 Visual Studio 2017 中的安装。我已按照以下每个页面(以及我搜索过的其他页面)中的步骤和注释进行操作:
- https://github.com/MicrosoftDocs/visualstudio-docs/blob/master/docs/extensibility/faq-2017.md#can-i-build-a-vsix-v3-with-visual-studio-2015
- http://www.visualstudioextensibility.com/2017/01/10/its-time-to-change-the-vsix-manifest-of-your-extension-to-v3-for-visual-studio-2017-compatibility/
我最初遇到了这篇文章中提到的一个单独的问题,该问题已得到解决。现在,项目(和扩展)继续在本地成功构建,但在我们的 TFS 构建服务器上失败并出现以下错误:
"d:\example\myproj\MyProj.csproj" (Rebuild target) (25:7) ->
d:\example\myproj\packages\Microsoft.VisualStudio.Sdk.BuildTasks.14.0.14.9.23\tools\VSSDK\Microsoft.VisualStudio.Sdk.Common.targets(67,5): error VSSDK1001: Unable to find Microsoft.VisualStudio.CommandTable.VSCTCompiler type in 'd:\example\myproj\packages\Microsoft.VisualStudio.Sdk.BuildTasks.14.0.14.9.23\tools\VSSDK\bin\VSCT.exe' Assembly. [d:\example\myproj\MyProj.csproj]
有没有其他人有过这个错误的经验来告诉我为什么我们的构建服务器会出现这个问题?
附加说明:我在本地计算机和相关构建服务器上都运行 Visual Studio 2015(更新 3)。
更新(2019 年 1 月 7 日)
该问题似乎与执行的 MSBuild.exe 版本有关。
默认情况下,我们的构建服务器使用与 .NET 的最高安装版本相关联的 MSBuild 版本(在我们的例子中是 MSBuild 版本 4.7.3062.0)。此版本从我的原始帖子中抛出错误(VSSDK1001)。
如果我使用与 VS 2015 关联的 MSBuild 版本(MSBuild 版本 14.0.27522.0)手动执行构建,则会消除错误并且构建成功。到目前为止,我一直无法强制 TFS 使用所需的 MSBuild.exe 版本......

