2015-08-27 39 views
0

如何在TFS 2012中使用teambuild將我的Visual Studio 2015中創建的asp.net web項目發佈到Azure上的webjob中?部署無法通過網頁作品展示的web api

這個問題似乎圍繞着msbuild。在本地和構建機器上,只要我明確地使用msbuild在C:\Program Files (x86)\Microsoft Visual Studio 14.0它將工作。當我使用C:\Windows\Microsoft.NET\Framework64\v4.0.30319\時,它給了我下面的輸出,說明部署是不可發佈的。

Target "_DeploymentUnpublishable: (TargetId:3)" in file "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets" from project "{poath}WebApi.csproj" (target "Publish" depends on it): 
Task "Message" (TaskId:4) 
    Task Parameter:Text=Skipping unpublishable project. (TaskId:4) 
    Skipping unpublishable project. (TaskId:4) 
Done executing task "Message". (TaskId:4) 

當我從排隊TFS我用下面的參數構建,

/t:Publish /ToolsVersion:14.0 /p:VisualStudioVersion=14.0 /p:ToolPath="C:\Program Files (x86)\MSBuild\14.0\Bin" /p:DeployOnBuild=true /p:PublishProfile=azureProfile.pubxml /p:Username=$user /p:Password=password 

回答

0

我從來沒有發現一個解決的辦法,但我可以得到下面的技巧實現。

  1. 創建的csproj文件
  2. 添加新<Target>像下面
 
    <Target Name="PushPackages"> 
     <Exec Command=""C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" {WebApiWithWebjob}.csproj /p:DeployOnBuild=true;PublishProfile=Dev.pubxml;VisualStudioVersion=14.0;Password={password}" /> 
    </Target> 
  • 添加的csproj文件作爲最後一個項目來構建在構建定義