2014-05-12 12 views
5

Ich arbeite mit einem Projekt, das sowohl C++ als auch C# verwendet. Ich habe an einer großen unordentlichen Integration gearbeitet und habe #pragma Nachricht stark benutzt, um Code aufzurufen, der noch nicht völlig funktionell ist (gebrochen als ein Ergebnis der Integration). Dies ist eine wirklich nette Möglichkeit, das Build-Protokoll zu überfluten, so dass es einfach ist, Dinge zu finden, die behoben werden müssen. Das Problem ist, dass ich nichts finden kann, das für C# genauso funktioniert.Gibt es etwas vergleichbar mit #pragma Nachricht?

Ich will nicht das veraltete Attribut verwenden, das ist nicht das, was ich suche. Ich habe versucht, #warn, aber das erzeugt nur eine "Warnung als Fehler", die den Build fehlschlägt. Wieder nicht das, wonach ich suche (ich könnte einfach #error verwenden, wenn ich den Build scheitern wollte ...).

Denn jetzt bin ich setze nur meine Nachrichten in Kommentaren, die gesucht werden können, aber dies erfordert eine gewisse Kenntnis von dem, was für so gut aussehen wie die Motivation für sie zu suchen. Das Aufrufen von Problemen mit einer benutzerdefinierten Nachricht im Build-Protokoll ist sehr zu empfehlen, da es schwer zu ignorieren ist!

Meine Forschung führt mich zu glauben, dass es nicht einen Weg gibt, zu tun, was ich will, aber ich wollte sehen, ob Sie Experten mit mir einverstanden sind oder nicht. :)

+0

Die Sache Microsoft Sie tun möchten, ist Team Foundation Server Artikel für alles, was Sie später berühren wollen erstellen. Ich weiß nicht, ob es einen Weg gibt, es direkt im Code zu tun, tut mir leid. – rumtscho

+1

Wie @ LB2 sagte, was ist falsch mit '# warning'. Für mich tut es genau das, erzeuge eine Warnung; nicht den Build fehlschlagen. – MicroVirus

+0

#warning schlägt den Build nicht fehl. Es erzeugt nur eine Warnung während des Builds. –

Antwort

1

#warning ist genau das, was Sie wollen: eine Kompilierung Warnung erzeugen. Dies scheitert nicht an der Erstellung.

Vielleicht haben Sie die Einstellung aktiviert Warnungen als Fehler zu behandeln? Diese Einstellung finden Sie in Ihrer Projektkonfiguration | Registerkarte erstellen

+0

Das Problem ist, wenn Sie das Projekt eines anderen mit mehr als tausend Warnungen erhalten, wird Ihre benutzerdefinierte Warnung nicht die Aufgabe erledigen. – Szybki

+2

@Szybki Wenn Sie viele Warnungen in C# bekommen, dann haben Sie wahrscheinlich größere Probleme. Darüber hinaus sind Warnmeldungen dazu da, Sie zu warnen. Wenn Sie Warnungen aufgrund ihrer Menge verpassen, ist jede Warnung nutzlos, nicht nur der Benutzer #pragma one, und Sie haben wieder größere Probleme. – MicroVirus

6

ich verwenden in der Regel den folgenden Code:

#warning //Todo Finish this method by.... 

#warning nicht als Fehler behandelt werden müssen, ist es in jedem Projekt unter Projektkonfiguration konfigurierbar | Bauen Sie Tab:

enter image description here

Mit der Beschreibung in dem Warnung des Buildprotokolls aussehen soll wie folgt aus:

enter image description here

Zusätzlich ist der //Todo Kommentar, die Beschreibung des hinzufügen Einbau- Aufgabenliste, die Sie zwischen Compiler-Warnungen und vom Benutzer eingestellten Compiler-Warnungen zu unterscheiden erlaubt:

enter image description here