#if debug -> #if myOwnConfig?

73

Gibt es in Visual Studio eine Möglichkeit, eine benutzerdefinierte Konfiguration wie "#if DEBUG" zu verwenden?

Ich benötige ein "#if OFFLINE", da meine Build-Config "Offline" heißt (auch nur für weitere Debug-Zwecke) ...

Vielen Dank!

IntegerWolf
quelle

Antworten:

109
  1. Erstellen -> Konfigurationsmanager -> Aktive Lösungskonfiguration -> Neu ...
  2. Erstellen Sie eine neue Konfiguration "Offline".
  3. Projekt -> Eigenschaften -> Erstellen -> Konfiguration -> Offline
  4. Bedingte Kompilierungssymbole: Typ OFFLINE
  5. Projekt speichern.
Dennis
quelle
3
Ich musste Visual Studio neu starten, damit mein Konfigurationssymbol funktioniert
Jerome2606
In welcher Datei ändert sich die Einstellung "Konfiguration der aktiven Lösung"? Ich möchte dies in git begehen, aber es sieht keine Änderung
Goku
@Goku: VS speichert die aktive Konfiguration in den lokalen Lösungseinstellungen. Es ändert nichts in Projekt- oder Lösungsdateien und kann daher nicht in der Quellcodeverwaltung gespeichert werden. Diese Einstellung ist eine Richtung für VS, die standardmäßig erstellt werden soll (z. B. wenn Sie F6 drücken). Es verhält sich wie der Parameter "/ p: Configuration" für MSBuild und sagt "Bitte erstellen Sie meine Quellen mit% ConfigName% configuration".
Dennis
35

Ja, du kannst. Bevor Sie dies tun können, gehen Sie folgendermaßen vor:

  1. Gehen Sie in Visual Studio zu Eigenschaften -> Erstellen.
  2. Wählen Sie in der Dropdown-Liste "Konfiguration" die Option "Offline".
  3. Fügen Sie "OFFLINE" zum Textfeld "Bedingte Kompilierungssymbole" hinzu

Wenn Sie diese Schritte überspringen, #if OFFLINEfunktioniert dies nicht, da es in diesem Fall OFFLINEnicht definiert ist.

ProgramFOX
quelle
Richtig, ich freue mich, beide Antworten zu finden. Das macht mein Leben viel einfacher. Vielen Dank !
user1841243
2
Zusätzlich zum Deaktivieren musste Define DEBUG constantich nach OFFLINEdem Conditional complication symbolsTextfeld ein
Semikolon
8

Ich habe genau die gleichen Schritte wie oben ausgeführt. Aber sie funktionieren nicht. Ihnen fehlen ein Schritt oder sie haben dies nicht klar erklärt.

Wenn Sie Schritt 4 ausführen. Bedingte Kompilierungssymbole: Geben Sie OFFLINE ein. Sie müssen auch "DEBUG-Konstante definieren" deaktivieren. Andernfalls funktioniert das neue Symbol OFFLINE nicht.

Ich habe dies hier gepostet, falls jemand viel Zeit wie ich verschwendet hat, wenn er versucht, dasselbe zu tun.

user3293338
quelle
Es sieht so aus, als ob dies von der VS-Version und der Projektsystemversion abhängt . Zumindest bei Verwendung von VS2019 / 17- und Netcore / Netstandard-Projekten müssen VS nicht neu gestartet und / oder die DEBUG / TRACE-Symbole deaktiviert werden. Ehrlich gesagt erinnere ich mich nicht, wie sich dies bei früheren Versionen verhalten hat.
Dennis