在 TFS 上构建想要从 Node.js 测试项目复制可执行文件

ges*_*ill 5 testing tfs build node.js protractor

我使用 Node.js 工具为量角器测试环境创建了一个 Node.js 项目,以在团队基础服务器上测试 Web 应用程序。我可以在本地创建测试项目并使用调试器运行它。但是,TFS 上的构建不起作用。

日志:

"<PATH>\TestProject.Web.Protractor.Tests.njsproj" (13) on node 2 (default targets).
13>PrepareForBuild:
     Creating directory "obj\Debug\".
   CoreCompile:
     Creating directory "bin".
     Copying file from "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Node.js Tools\Microsoft.NodejsTools.WebRole.dll" to "bin\Microsoft.NodejsTools.WebRole.dll".
   _CopyWebApplicationLegacy:
     Copying Web Application Project Files for TestProject.Web.Protractor.Tests
     Creating directory "<PATH>\bin\_PublishedWebsites\TestProject.Web.Protractor.Tests\bin".
13>C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications\Microsoft.WebApplication.targets(136,5): error MSB3030: Could not copy the file "obj\Debug\TestProject.Web.Protractor.Tests.exe" because it was not found. 
Run Code Online (Sandbox Code Playgroud)

ges*_*ill 6

在分析了 Microsoft.WebApplication.targets 之后,我找到了Disable_CopyWebApplication禁用复制过程的开关。

在我的项目文件中 TestProject.Web.Protractor.Tests.njsproj 添加<Disable_CopyWebApplication>True</Disable_CopyWebApplication>到属性组,它会正常工作:)

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
  <PropertyGroup>
    ...
    <Disable_CopyWebApplication>True</Disable_CopyWebApplication>
</PropertyGroup>
...
Run Code Online (Sandbox Code Playgroud)