【问题标题】:Ignore NAnt warning忽略 NAnt 警告
【发布时间】:2009-06-18 09:26:25
【问题描述】:

我正在使用 NAnt(和 CruiseControl.NET)设置构建服务器,并且我目前正在为应用程序中的所有程序集(均在 VB.NET/C# 中)编写构建文件。
不幸的是,当编译大多数项目时,NAnt 发出了几个警告,这些警告会停止构建过程。因为我知道这些警告几乎是不切实际的(这个警告的绝大部分来自像

这样的代码
If object Is Nothing

它会生成类似“A Null reference exception COULD result at runtime”的警告,emphasys 是我的,当然)我想让 NAnt 不显示它们停止构建过程。
提前感谢任何愿意提供帮助的人

【问题讨论】:

    标签: .net nant


    【解决方案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>
    

    【讨论】:

    • 也许属性名称在属性示例(“warnmissingdocs”)和 MsBuild/Csc 示例(“warnaserrors”)之间拼写错误?无论如何,这有效,谢谢!
    • 你说得对,我拼错了属性。已编辑我的帖子以修复它!
    【解决方案2】:

    如果您使用 exec 任务执行 devenv.exe 将其更改为执行 devenv.com,这应该将警告打印到标准输出(我认为它是标准输出,可能是标准错误)但警告不应该停止构建。

    另外,请确保您的 Visual Studio 项目设置不会将警告视为错误。

    【讨论】:

    • 我没有提到它,但我实际上是在使用 任务,它似乎有一些问题,尤其是在用于编译 v.1.1 项目时。
    猜你喜欢
    • 1970-01-01
    • 2015-03-10
    • 2010-10-07
    • 2018-03-24
    • 2021-01-15
    • 2018-12-09
    • 2017-05-01
    • 2015-01-29
    • 1970-01-01
    相关资源
    最近更新 更多