2013-09-26 15 views
14

ho PostSharp incluso in tutti i miei progetti, come per le migliori pratiche consigliate per PostSharp. Tuttavia, non ho alcun aspetto o altre trasformazioni in alcuni di questi gruppi; si riferiscono solo ad altri progetti che do hanno aspetti in uso.Calma avvertimenti PostSharp giù alla costruzione senza saltare PostSharp

al momento della compilazione, ottengo il seguente avviso:

Il modulo 'xxxxxxx.dll' non contiene alcun aspetto o qualsiasi altra trasformazione. Per migliorare le prestazioni in fase di compilazione, prendi in considerazione la disattivazione di PostSharp per questo modulo impostando il simbolo della compilation (ovvero costante) "SkipPostSharp" nel progetto o impostando la proprietà MSBuild "SkipPostSharp = True".

Grazie per le informazioni, PostSharp! Ma ho "pensato di disabilitare PostSharp per questo modulo" e ho deciso di non farlo. Sono perfettamente felice di perdere un po 'di prestazioni in fase di build, in cambio di non dover pensarci più tardi quando deciderò di utilizzare PostSharp in un progetto precedentemente privo di aspetti.

Come faccio ottengo PostSharp per fermare raccontarmi questo suggerimento, e senza attivare SkipPostSharp?

risposta

13

Nelle proprietà del progetto nella scheda PostSharp c'è una linea voce di "Messaggi disabili (punto e virgola elenco separato)"

In questo campo inserire il codice per il particolare messaggio. Non sono completamente sicuro di cosa sia, ma prova PS0121

In alternativa, se modifichi manualmente il file di progetto "* .csproj" puoi aggiungere l'elemento PostSharpDisableMessages nel tuo PropertyGroup per le configurazioni applicabili come mostrato di seguito.

<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

Era PS0131, ma GRAZIE !! Non sapevo che esistesse questa sezione di avvisi disabilitati. –

+0

Ho capito che devi installare qualcosa in più per vedere una "scheda PostSharp"? Lo usiamo senza installare nulla sul client e quindi non vedo alcuna scheda di questo tipo. Non credo che ci sia un modo per farlo senza questo? – PandaWood

+0

È necessario installare PostSharp Tools per Visual Studio per visualizzare la scheda PostSharp nella finestra delle proprietà del progetto. È disponibile su https://www.postsharp.net/download. –

3

È possibile calmarsi questi avvertimenti da tutti i progetti nella soluzione con l'aggiunta di un file nella cartella soluzione chiamata PostSharp.Custom.targets con il contenuto:

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

Dove LA0156;PS0131 è una lista virgola delimitato degli avvisi che si desidera disabilitare.

particolare PS0131 disabilita

Il progetto 'nome <assembly>' non contiene alcun aspetto o altra trasformazione. Puoi disattivare PostSharp per questo progetto modificando le proprietà del progetto in Visual Studio. Ricorda di abilitare PostSharp se aggiungi un aspetto a questo progetto.

E LA0156 disabilita

mancante codice di salvataggio informazioni sul tipo di aspetto "< completa tipo nome >". Le metriche di salvataggio del codice saranno imprecise. Aggiungi [LinesOfCodeAvoided] alla classe aspect o specifica la proprietà LinesOfCodeAvoided dell'attributo custom advice o ignora l'avviso LA0156.