2016-05-04 90 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