657 Stimmen

So führen Sie Visual Studio Post-Build-Ereignisse nur für Debug-Build aus

Wie kann ich meine Post-Build-Ereignisse darauf beschränken, dass sie nur für eine bestimmte Art von Build ausgeführt werden?

Ich verwende die Ereignisse, um DLL-Dateien in ein lokales virtuelles IIS-Verzeichnis zu kopieren, aber ich möchte nicht, dass dies auf dem Build-Server im Release-Modus geschieht.

18voto

Eric Bole-Feysot Punkte 12201

Visual Studio 2015: Die korrekte Syntax ist (in einer Zeile):

if "$(ConfigurationName)"=="My Debug CFG" ( xcopy "$(TargetDir)test1.tmp" "$(TargetDir)test.xml" /y) else ( xcopy "$(TargetDir)test2.tmp" "$(TargetDir)test.xml" /y)

Kein Fehler 255 hier.

5voto

Lou Franco Punkte 85315

Sie können den Konfigurationsnamen an das Post-Build-Skript übergeben und dort prüfen, ob es ausgeführt werden soll.

Übergeben Sie den Konfigurationsnamen mit $(ConfigurationName) .

Die Überprüfung hängt davon ab, wie Sie den Post-Build-Schritt implementieren - es wird ein Befehlszeilenargument sein.

2voto

plcnut Punkte 23

Ich habe festgestellt, dass ich mehrere Bedingungen in die Projektdatei einfügen kann, und zwar so:

  <Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition=" '$(Configuration)' != 'Debug' AND '$(Configuration)' != 'Release' ">
      <Exec Command="powershell.exe -ExecutionPolicy Unrestricted -NoProfile -NonInteractive -File $(ProjectDir)postBuild.ps1 -ProjectPath $(ProjectPath) -Build $(Configuration)" />
  </Target>

-1voto

Jaan Marks Punkte 19

Dies funktioniert bei mir in Visual Studio 2015.

Ich kopiere alle DLL-Dateien aus einem Ordner, der sich in einem Bibliotheksordner auf derselben Ebene wie mein Lösungsordner befindet, in das Zielverzeichnis des zu erstellenden Projekts.

Ich verwende einen relativen Pfad von meinem Projektverzeichnis und gehe in der Ordnerstruktur zwei Schritte nach oben mit. \..\lib

MySolutionFolder
....MeinProjekt
Lib

if $(ConfigurationName) == Debug (
xcopy /Y "$(ProjectDir)..\..\lib\*.dll" "$(TargetDir)"
) ELSE (echo "Not Debug mode, no file copy from lib")

-3voto

Harald Scheirich Punkte 9506

Wie alle Projekteinstellungen können auch die Buildevents per Konfiguration konfiguriert werden. Wählen Sie einfach die Konfiguration, die Sie ändern möchten, im Dropdown-Menü des Dialogs Eigenschaftsseiten aus und bearbeiten Sie den Post-Build-Schritt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X