I currently have an Azure Cloud Service within Visual Studio containing three roles - two ASP.NET Web roles and a very simple Node.js role.
This builds and packages correctly within Visual Studio locally, and deploys perfectly into the Azure compute emulator.
When trying to build the solution with TeamCity, MSBuild fails claiming:
[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]
...which seems to indicate it's expecting the build of the Node.js project to emit an .exe file.
The project reference for the Node.js application within the Cloud Service project is as follows:
<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>
The build server is running TeamCity 8.1.3, and has the following installed:
- Visual Studio Express for Web 2013 Update 3
- Windows Azure SDK 2.3
- Node.js 0.10.30
- Microsoft Azure SDK for Node.js 0.8.0
- Node.js Tools for Visual Studio 1.0 beta 2
How can I persuade our build server to build this properly rather than expect the Node.js project to emit an .exe file?