阻止MVCBuildViews删除MSdeploy Package

时间:2016-05-04 09:00:54

标签: asp.net .net asp.net-mvc

我正在尝试在VSO中构建和部署我的MVC项目。我的Build定义中只有两个步骤,你可以在下面找到它们: enter image description here

这是我的MSBuild参数:

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

我的问题是,每当我尝试构建此定义时,我都会获得一个空的发布zip文件。我发现这是因为我在我的.csproj文件中将MVCBuildViews设置为true。如果MvcBuildViews设置为true,则项目将根据此目标构建视图:

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

我试图将BaseIntermediateOutputPath设置为另一个位置,但这没有解决任何问题,因为编译器删除了两个位置的包文件夹。

我似乎无法弄清楚该怎么做。有没有办法禁用CleanupForBuildMvcViews,因为这似乎是在构建视图之前删除包文件夹。

1 个答案:

答案 0 :(得分:4)

尝试将以下属性添加到目标中:

 BeforeTargets="PipelineCollectFilesPhase"

我认为您只需要在构建过程中更快地编译视图(在提取文件以进行打包之前)。不确定你之前应该运行哪个Target,但这个目标对我来说是正确的。