2009-02-08 7 views
21

In meiner App habe ich eine große Anzahl von Entitäten, die Felder haben, die ihre Werte durch Reflexion gesetzt bekommen. (In diesem Fall setzt NHibernate sie). Ich möchte die "x wird nie zugewiesen werden und wird immer seinen Standardwert 0" Warnungen haben, so kann ich leichter die anderen Warnungen herausgreifen. Ich weiß, dass Sie sie in Pragma-Direktiven einkreisen können, aber AFAIK müssen Sie das für jeden tun. Gibt es eine projektweite oder lösungsweite Möglichkeit, dies zu tun?Globale C# Compiler Warnungen unterdrücken

+0

Aus irgendeinem Grund würden Sie #pragma Warnung deaktivieren 169 nicht an der Spitze der Quellcodedatei setzen? Es unterdrückt für den Rest der Datei. –

+0

++ viel besser, da es deutlich macht, dass diese Datei viele dieser und nicht absolut alles enthält – ShuggyCoUk

+1

In meinem Fall verwende ich NHibernate, um die IDs von Entitäten zu setzen. Also auf jedem Domain-Objekt habe ich private int _ID; Ich möchte wirklich keine Pragma-Direktiven für jede der Entitäten setzen müssen, sondern lieber etwas Globales. – pondermatic

Antwort

33

Verwenden Sie die C# Kommandozeilen-Option/nowarn http://msdn.microsoft.com/en-us/library/7f28x9z3(VS.80).aspx

dieses Projekt in Visual Studio gehe zu tun Eigenschaften-> Build -> (Fehler und Warnungen) Unterdrückt Warnungen und dann eine durch Kommata getrennte Liste von Warnungen festlegen, die brauchen unterdrückt werden.

+13

Wie AnthonyWJones unten zeigt, befinden sich die Compiler-Warn-IDs, die Sie in diese separate Komma-Liste eingeben müssen, im Ausgabefenster, während Sie den Build-Stream anzeigen. Was in diesem Thread noch nicht erwähnt wird, ist, dass sie in der Form "CSxxxx" kommen 'und Sie müssen das 'CS' Präfix in Ihren aufgelisteten Codes entfernen, damit es funktioniert. –

+0

So fantastisch. Vielen Dank!!! –

8

Öffnen Sie die Projekteigenschaften, und geben Sie auf der Registerkarte "Build" im Feld "Warnungen unterdrücken" die Warnungs-IDs ein, die unterdrückt werden sollen.

+0

Das ist, was ich tun möchte, aber leider warnt ID nicht mit Warnung in VS2010 Fehlerliste Bereich geschrieben. Und einige Warnung IDs sind sehr nahe, aber Codes sind diffrent, ich meine CLS Fehler für int und CLS Fehler für eine Klassenname sind unterschiedlich. Wenn Ihr Codierungsstandard nicht CLS ist, was werden Sie tun? –

+1

@ DavutGürbüz: Versuchen, in das Ausgabefenster beim Erstellen – AnthonyWJones

+0

Ich öffnete detaillierte Build so schwer zu sehen, aber es funktioniert, BC40028 deaktiviert die meisten meiner CLS-Warnungen Dank –

1

Das VC++ - XML-Tag dafür ist < DisableSpecificWarnings /> mit einer Semikolon getrennten Liste von numerischen IDs. Dies scheint nicht dokumentiert zu sein, irgendwo, dass ich sehen kann, aber FYI.