我正在使用NAnt(和CruiseControl.NET)设置构建服务器,我正在为应用程序中的所有程序集(都在VB.NET/C#中)编写构建文件。
不幸的是,在编写大部分项目时,NAnt发出了几个警告,这些警告会阻止建筑过程。因为我知道这些警告几乎是不现实的(绝大多数警告来自像
If object Is Nothing
会生成类似“ Null引用异常 COULD 结果在运行时”的警告,当然强调是我的,我想让NAnt只显示它们停止建设过程。
提前感谢任何愿意提供帮助的人
答案 0 :(得分:1)
如果您正在使用exec任务执行devenv.exe更改它以执行devenv.com,这应该向stdout打印警告(我认为它是stdout,可能是stderr)但是警告不应该停止构建。 / p>
另外,请确保您的visual studio项目设置不会处理错误等警告。
答案 1 :(得分:1)
CSC和MsBuild具有指定将警告视为错误的参数 - 您应该检查这些参数是否设置为false:
<property name="build.warnaserrors" value="false" />
的MSBuild
<exec program="path/to/MSBuild.exe" workingdir="path/to/dir">
<arg value="/p:TreatWarningsAsErrors=${build.warnaserrors}" />
....other args
</exec>
CSC
<csc warnaserror="${warnaserrors}"
...other args
></csc>