Question

I have setup Cruise Control.Net 1.6.7981.1 for a ASP.Net project. It is currently building correctly with MSBuild. The MSBuild config file is setup as follows

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

I believe that because I the Configuration is set to release, the aspx pages are being compiled as part of the build. However if I remove the asp:ScriptManager tag from a page that requires it to run the build still succeeds, even though when the page loads it results in the following error.

The control with ID 'MyControl' requires a ScriptManager on the page. The ScriptManager must appear before any controls that need it.

Even when I manually with

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler -v / -c -errorstack -p C:\MyProject\trunk\MyProject

the page still builds without any errors.

I really want cruise control to fail the build if any errors have made it to the build. Does anyone know how to achieve this?

Was it helpful?

Solution

I agree that this error is runtime. The control is most likely dynamically searching for an instance of the script manager and throwing an exception when it does not find one. The compiler can only resolve issues like bad or missing references, or methods being called that don't exist.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top