使用本地TFS连续部署DocFx文档

时间:2018-08-31 16:28:22

标签: tfsbuild tfs2013 docfx

我正在努力使用本地TFS为DocFX项目建立一个连续的部署过程。

here中描述了该过程,但是示例演练是针对VSTS的,并且我具有本地TFS(2013版)。基本思想是在每次签入时构建和部署文档网站。该过程使用的DocFx Build Tasks扩展名确实支持本地TFS ...我只是看不到如何使其工作!

我有一个包含单个C#项目的VS解决方案,该项目的Nuget引用了docfx.console版本2.38.1(最新)。当我在本地PC上构建VS时,_sites文件夹将正确填充HTML。但是,在构建服务器上构建时,构建失败并显示“警告MSB4078:MSBuild不支持项目文件“ DocFx.csproj”,因此无法构建。“

因此,我发现了DocFx Build Tasks扩展名,看起来它可以解决我的问题。

我已经下载了.VSIX,但是无法确定在何处以及如何安装它。

如果我直接在构建服务器(或本地PC)上运行它,则会出现错误“此扩展程序无法安装在任何当前安装的产品上”。出现。这是来自安装日志:

31/08/2018 14:31:54 - Supported Products : 
31/08/2018 14:31:54 - Microsoft.VisualStudio.Services
31/08/2018 14:31:54 - Version : 
31/08/2018 14:31:54 - 
31/08/2018 14:31:54 - References : 
31/08/2018 14:31:54 - Signature Details...
31/08/2018 14:31:54 - Extension is not signed.
31/08/2018 14:31:54 - 
31/08/2018 14:31:54 - Searching for applicable products...
31/08/2018 14:31:54 - Found installed product - Microsoft Visual Studio 2012 Shell (Integrated)
31/08/2018 14:31:54 - Found installed product - Global Location
31/08/2018 14:31:54 - Found installed product - ssms
31/08/2018 14:31:54 - Found installed product - Visual Studio Community 2017
31/08/2018 14:31:54 - Found installed product - Visual Studio Build Tools 2017 (2)
31/08/2018 14:31:54 - VSIXInstaller.NoApplicableSKUsException: This extension is not installable on any currently installed products.

在TFS 2013门户中似乎也看不到任何选项来上传扩展(尽管更高版本似乎具有此功能)。

我该怎么办?

1 个答案:

答案 0 :(得分:1)

基于错误消息“'warning MSB4078: The project file "DocFx.csproj" is not supported by MSBuild and cannot be built.'”,似乎您使用的MSBuild版本不正确。引用类似的线程:Build succeeded with projects Ctrl + Shift + B that MSBuild can't build

对于TFS 2013 + VS 2017组合,您可能需要将ToolPath更改为完整的MSBuild路径:"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin"。引用此线程:TFS 2013 and Visual Studio 2017 Syntax

此外,您还可以尝试在构建定义中指定MSBuild arguments。例如:/tv:15.0 /p:VisualStudioVersion=15.0,以使用VS2017构建。

TFS 2013不支持DocFx Build Tasks扩展名。要使用该扩展名,您需要迁移到vNext构建(TFS 2015及更高版本)。要安装扩展程序,请参阅Install extensions for Team Foundation Server (TFS)

建议您迁移到现代版本的TFS(vNext构建系统)。参见Why You Should Switch to Build VNext