VSTS - 在构建时编译aspx页面

时间:2017-02-15 10:47:10

标签: asp.net visual-studio msbuild continuous-integration azure-devops

我在Visual Studio Team Services上有一个配置如下的任务:

enter image description here

该解决方案包含一个ASP.NET Web窗体应用程序。该任务编译解决方案,但遗憾的是.aspx文件上的编译错误被忽略。有没有办法在build上检查.aspx页面上的错误?

2 个答案:

答案 0 :(得分:3)

TL; DR只需将MSBuild属性PrecompileBeforePublish设置为' true'

长版:
首选方法是创建一个Web包(.zip文件),然后您可以将其提供给将在Azure App ServiceIIS上部署的VSTS Build / Release任务。

为了创建Web包,在构建期间通过将这些附加参数传递给MSBuild(在Visual Studio Build任务上)来触发Web Publishing Pipeline

 /p:DeployOnBuild=true /p:WebPublishMethod=Package
 /p:PackageAsSingleFile=true  /p:SkipInvalidConfigurations=true    
 /p:PackageLocation="$(build.artifactstagingdirectory)\\"    
 /p:PrecompileBeforePublish=true 

这将预编译.aspx文件以及在代理计算机上的工件暂存目录上本地复制.zip文件。使用$(build.artifactstagingdirectory)变量在后续任务中引用此目录,以便发布此工件。

答案 1 :(得分:0)

正如Luca已经提到的那样,PrecompileBeforePublish可以解决问题。

我决定发布另一个答案,因为他给出的MSBuild参数作为一个例子对我不起作用。我使用了以下参数:

/t:Package 
/p:PackageLocation="$(build.artifactstagingdirectory)\website.zip"     
/p:OutputPath=.\bin 
/p:Configuration=$(BuildConfiguration) 
/p:PrecompileBeforePublish=true

Build现在正在检测.aspx页面中的错误,例如缺少资源:

enter image description here