在不跳过PostSharp的情况下,如何消除构建时的PostSharp警告

15

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

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

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

感谢信息,PostSharp!但我已经"考虑禁用此模块的PostSharp"并决定不这样做。我很乐意失去一点构建时间性能,以换取以后在之前没有方面的项目中使用PostSharp时不必再考虑它。

如何让PostSharp停止向我发出此提示,而不启用SkipPostSharp

2个回答

14
在项目属性下的PostSharp选项卡中,有一行条目名为“Disabled Messages(分号分隔列表)”。在该字段中输入特定消息的代码。我不确定是什么,但尝试PS0121。或者,如果您手动编辑项目文件“*.csproj”,可以像下面所示在适用配置的PropertyGroup中添加PostSharpDisableMessages元素。
  <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>

4
是 PS0131,但是谢谢!!我不知道这个禁用警告的部分存在。 - David Pfeffer
我猜您需要安装额外的东西才能看到“PostSharp”选项卡?我们在客户端上没有安装任何东西就使用它,所以我没有看到这样的选项卡。我不确定是否有办法在不安装此类东西的情况下完成它? - PandaWood
您需要安装Visual Studio的PostSharp工具才能在项目属性窗口中看到PostSharp选项卡。该工具可在https://www.postsharp.net/download上获得。 - Antonín Procházka

5
你可以在解决方案文件夹中添加一个名为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]添加到方面类中,或者指定advice自定义属性的LinesOfCodeAvoided属性,或忽略警告LA0156。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接