【问题标题】:Quiet down PostSharp warnings at build without skipping PostSharp在构建时静默 PostSharp 警告而不跳过 PostSharp
【发布时间】:2013-09-26 00:14:21
【问题描述】:

根据 PostSharp 推荐的最佳做法,我的所有项目中都包含 PostSharp。但是,我在其中一些程序集中没有任何方面或其他转换;他们只是引用了确实在使用方面的其他项目。

在构建时,我收到以下警告:

模块“xxxxxxx.dll”不包含任何方面或其他转换。为提高构建时性能,请考虑通过在项目中设置编译符号(也称为常量)“SkipPostSharp”或设置 MSBuild 属性“SkipPostSharp=True”来为此模块禁用 PostSharp。

感谢 PostSharp 提供的信息!但我已经“考虑为此模块禁用 PostSharp”并决定不这样做。我很高兴失去一点构建时性能,以换取以后当我决定在以前没有方面的项目中使用 PostSharp 时不必考虑它。

如何让 PostSharp 在不启用 SkipPostSharp 的情况下停止告诉我这个提示?

【问题讨论】:

    标签: c# .net msbuild postsharp


    【解决方案1】:

    在 PostSharp 选项卡下的项目属性中,有一行条目“禁用消息(分号分隔列表)”

    在该字段中输入特定消息的代码。我不完全确定它是什么,但试试 PS0121

    或者,如果您手动编辑您的项目文件“*.csproj”,您可以将 PostSharpDisableMessages 元素添加到您的 PropertyGroup 中以用于您的适用配置,如下所示。

      <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
        <DebugSymbols>true</DebugSymbols>
        <DebugType>full</DebugType>
        <Optimize>false</Optimize>
        <OutputPath>bin\Debug\</OutputPath>
        <DefineConstants>DEBUG;TRACE</DefineConstants>
        <ErrorReport>prompt</ErrorReport>
        <WarningLevel>4</WarningLevel>
        <ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
        <PostSharpDisabledMessages>PS0131;PS0121</PostSharpDisabledMessages>
      </PropertyGroup>
    

    【讨论】:

    • 这是 PS0131,但谢谢!我不知道这个禁用的警告部分存在。
    • 我猜你必须安装一些额外的东西才能看到“PostSharp 标签”?我们使用它而不在客户端上安装任何东西,所以我看不到任何这样的选项卡。我不认为没有这个有办法吗?
    • 您需要安装 PostSharp Tools for Visual Studio 才能在项目属性窗口中看到 PostSharp 选项卡。可通过postsharp.net/download 获取。
    【解决方案2】:

    您可以通过将文件添加到名为 PostSharp.Custom.targets 的解决方案文件夹中并包含以下内容来消除解决方案中所有项目的这些警告:

    <?xml version="1.0" encoding="utf-8"?>
    <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
      <PropertyGroup>
        <PostSharpDisabledMessages>LA0156;PS0131</PostSharpDisabledMessages>
      </PropertyGroup>
    </Project>
    

    其中LA0156;PS0131 是您要禁用的警告的分号分隔列表。

    特别是PS0131 禁用

    项目“”不包含任何方面或其他转换。您可以通过在 Visual Studio 中编辑项目属性来为此项目禁用 PostSharp。如果您向该项目添加方面,请记住重新启用 PostSharp。

    LA0156 禁用

    缺少有关方面类型“”的代码保存信息。代码保存指标将不准确。将 [LinesOfCodeAvoided] 添加到方面类或指定通知自定义属性的 LinesOfCodeAvoided 属性或忽略警告 LA0156。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-03
      • 1970-01-01
      • 1970-01-01
      • 2017-06-28
      • 2019-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多