我目前在Visual Studio中有一个包含三个角色的Azure Cloud Service - 两个ASP.NET Web角色和一个非常简单的Node.js角色 .

这在本地Visual Studio中正确构建和打包,并完美部署到Azure计算模拟器中 .

尝试使用TeamCity构建解决方案时,MSBuild无法声明:

[15:22:48] C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Windows Azure Tools\2.3\Microsoft.WindowsAzure.targets(1253,5): error : WAT070 : The referenced assembly C:\TeamCity\buildAgent\work\a1a1a1a1a1a1a1a1\NodejsApp\NodejsApp.exe was not found. Please make sure to build the role project that produces this assembly before building this Windows Azure Cloud Service Project. [C:\TeamCity\buildAgent\work\a1a1a1a1a1a1a1a1\CloudService\CloudService.ccproj]

...这似乎表明它期望Node.js项目的构建发出.exe文件 .

Cloud Service项目中Node.js应用程序的项目参考如下:

<ProjectReference Include="..\NodejsApp\NodejsApp.njsproj">
  <Name>NodejsApp</Name>
  <Project>{5b84f347-2866-40ee-9252-a1a1a1a1a1a1}</Project>
  <Private>True</Private>
  <RoleType>Web</RoleType>
  <RoleName>NodejsApp</RoleName>
  <UpdateDiagnosticsConnectionStringOnPublish>True</UpdateDiagnosticsConnectionStringOnPublish>
</ProjectReference>

构建服务器正在运行TeamCity 8.1.3,并安装了以下内容:

  • Visual Studio Express for Web 2013 Update 3

  • Windows Azure SDK 2.3

  • Node.js 0.10.30

  • 用于Node.js的Microsoft Azure SDK 0.8.0

  • 用于Visual Studio 1.0 beta 2的Node.js工具

我如何说服我们的构建服务器正确构建它,而不是期望Node.js项目发出.exe文件?