2016-05-04 122 views
0

我想在VSO中構建和部署我的MVC項目。我有我的生成定義只有兩個步驟,你可以瑟他們下面: enter image description here防止MVCBuildViews刪除MSdeploy包

這裏是我的MSBuild參數:

/p:DeployOnBuild=true /p:PublishProfile=Project.TEST.pubxml /p:DesktopBuildPackageLocation="" /p:WebPublishPipelineProjectName=Project.TEST /p:AutoParameterizationWebConfigConnectionStrings=False 

我在這裏的問題是,當每次我嘗試建立這個定義我獲得一個空的發佈zip文件。我發現這是因爲我在我的.csproj文件中設置了MVCBuildViews。如果MvcBuildViews設置爲true,那麼該項目將修建從這個目標的看法:

<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'"> 
    <AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" /> 
    </Target> 

我試圖設置BaseIntermediateOutputPath其他位置,但因爲編譯器刪除在這兩個位置的包文件夾這個solveds什麼。

我似乎無法弄清楚該怎麼做。有沒有一種方法可以禁用CleanupForBuildMvcViews,因爲這似乎是在構建視圖之前刪除包文件夾。

回答

2

嘗試添加以下屬性到您的目標:

BeforeTargets="PipelineCollectFilesPhase" 

我想你只需要編譯的意見越早在構建過程中(文件被拉到包裝之前)。不確定你應該運行哪個目標,但這個目標對我來說是正確的。

+0

謝謝你的幫助。這工作完美。 – Lahib

+0

太棒了!樂意效勞。 – chief7