2013-09-26 52 views
14

根據推薦的PostSharp最佳實踐,我的PostSharp已包含在我的所有項目中。但是,在這些程序集中,我沒有任何方面或其他轉換;他們只是參考其他做的有使用方面的項目。安靜PostSharp PostSharp構建PostSharp警告

在構建時,我得到以下警告:

該模塊的xxxxxxx.dll'不包含任何方面或其他轉換。爲了提高構建時間性能,請考慮通過在項目中設置編譯符號(又名常量)'SkipPostSharp'來禁用此模塊的PostSharp,或者設置MSBuild屬性'SkipPostSharp = True'。

感謝您的信息,PostSharp!但我已經「考慮過爲這個模塊禁用PostSharp」,並決定不這樣做。我非常高興能夠失去一小部分的構建時間性能,換而言之,當我決定在以前沒有方面的項目中使用PostSharp時,不必考慮它。

如何讓PostSharp停止告訴我這個提示,並且不啓用SkipPostSharp

回答

13

在PostSharp選項卡下的項目屬性有一行進入「禁用消息(分號分隔的列表)」

在該字段中輸入代碼的特定消息。或者,如果您手動編輯項目文件「* .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> 
+3

這是PS0131,但謝謝!我不知道這個禁用的警告部分存在。 –

+0

我收集你必須安裝額外的東西才能看到「PostSharp選項卡」?我們使用它而不在客戶端上安裝任何東西,所以我沒有看到任何這樣的標籤。我不認爲有沒有辦法做到這一點? – PandaWood

+0

您需要爲Visual Studio安裝PostSharp工具才能在項目屬性窗口中查看PostSharp選項卡。它可從https://www.postsharp.net/download獲得。 –

3

您可以通過將文件與內容稱爲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。