我为ASP.Net项目设置了Cruise Control.Net 1.6.7981.1。它目前正在使用MSBuild正确构建。 MSBuild配置文件设置如下
<msbuild>
<executable>c:\Windows\Microsoft.Net\Framework\v3.5\MSBuild.exe</executable>
<workingDirectory>C:\MyProject\trunk</workingDirectory>
<projectFile>MyProject.sln</projectFile>
<buildArgs>/t:Rebuild /p:Configuration=Release /v:m</buildArgs>
<targets>Clean;Build</targets>
<timeout>1200</timeout>
</msbuild>
我相信因为我将Configuration设置为release,所以aspx页面将被编译为构建的一部分。但是,如果我从需要运行构建的页面中删除asp:ScriptManager
标记,则构建仍然成功,即使页面加载时也会导致以下错误。
ID为“MyControl”的控件 需要页面上的ScriptManager。 ScriptManager必须出现在之前 任何需要它的控件。
即使我手动
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler -v / -c -errorstack -p C:\MyProject\trunk\MyProject
页面仍然构建没有任何错误。
如果任何错误导致构建,我真的希望巡航控制失败。有谁知道如何实现这个目标?
答案 0 :(得分:0)
我同意这个错误是运行时。控件很可能是动态搜索脚本管理器的实例,并在找不到脚本管理器时抛出异常。编译器只能解决诸如错误或缺少引用或被调用的不存在的方法之类的问题。