Kann ich mehrere Konfigurationen eines Projekts innerhalb einer Lösungskonfiguration erstellen?

8

Ich möchte das gleiche Projekt zweimal in der gleichen Lösungskonfiguration erstellen und einige #define Flags zum Umschalten der Features variieren. Beide Binärdateien werden mit unterschiedlichen Namen bereitgestellt.

Die Lösungen, die ich kenne, könnten funktionieren:

  1. Fügen Sie eine Lösungskonfiguration hinzu - Aber ich muss dann die Lösung zweimal erstellen, was ich lieber vermeiden würde. Beide Projektkonfigurationen werden immer erstellt.

  2. Kopiere das Projekt - Aber dann habe ich den Aufwand, ein neues Projekt zu pflegen, wenn ich nur eine andere Konfiguration beibehalten möchte.

  3. Batch-Erstellung - Ich vermeide die Batch-Erstellung, da ich sowohl devenv für die lokale Entwicklung als auch msbuild für die fortlaufende Integration verwende.

Irgendwelche anderen Ideen oder Vorschläge?

    
Rob Hunter 07.12.2012, 18:33
quelle

1 Antwort

5

Habe gerade einen Weg gefunden, das zu tun, wonach du gefragt hast. Erstellen Sie eine Msbuild-Datei (ich nannte meine multiple.proj) und fügen Sie das folgende Skript hinzu.

      

%Vor%

Importieren Sie das Skript in Ihre Projekte (csproj oder vbproj):

    

%Vor%

Dieses Skript weist msbuild an, Ihr Projekt mit einer anderen Konfiguration als AfterBuild-Ereignis erneut zu erstellen. Ich habe Debug / Release verwendet, um das Beispiel zu machen, aber Sie können das Skript leicht ändern, um andere Konfigurationen zu unterstützen, oder die Entscheidung treffen, basierend auf anderen Variablen neu zu bauen.

Seien Sie vorsichtig, da Sie zwei Builds gleichzeitig ausführen, sodass Buildfehler schwerer zu verstehen sind.

Hoffe, das hilft.

    
Marcos Brigante 17.01.2013, 20:40
quelle