我正在尝试在VSO中构建和部署我的MVC项目。我的Build定义中只有两个步骤,你可以在下面找到它们:
这是我的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
,因为这似乎是在构建视图之前删除包文件夹。
答案 0 :(得分:4)
尝试将以下属性添加到目标中:
BeforeTargets="PipelineCollectFilesPhase"
我认为您只需要在构建过程中更快地编译视图(在提取文件以进行打包之前)。不确定你之前应该运行哪个Target,但这个目标对我来说是正确的。