1

我为 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>

我相信,因为我将配置设置为发布,所以 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

该页面仍然构建没有任何错误。

如果构建中出现任何错误,我真的希望巡航控制使构建失败。有谁知道如何实现这一目标?

4

1 回答 1

0

我同意这个错误是运行时的。控件很可能动态搜索脚本管理器的实例,并在找不到时抛出异常。编译器只能解决错误或缺少引用或调用不存在的方法等问题。

于 2011-05-12T16:16:02.377 回答