2010-03-03 4 views
7

Ich habe drei verschiedene Konfigurationen in meinem Projekt, alle drei erfordern nicht alle Dateien in die Anwendung zu erstellen. Eigentlich würde ich es vorziehen, wenn ich diese Dateien vom Build ausschließen könnte, was meine Anwendung ein wenig leichter machen würde.Ausschließen von ganzen Dateien basierend auf der Konfiguration von Build in VS2008

Was ich suche ist #if MYCONFIG oder #if DEBUG Anweisung aber für Dateien. Ich habe bereits gelesen, dass dies erreicht werden kann, indem man die csproj-Datei manuell bearbeitet, aber ich kann das nicht mehr finden ... und gibt es andere Wege?

Antwort

11

Es gibt zwei verschiedene Arten: In Ihrem csproj Dateien, werden Sie Abschnitte haben, die wie folgt aussehen:

<ItemGroup> 
    <Compile Include="Helper.cs" /> 
    <Compile Include="Properties\AssemblyInfo.cs" /> 
</ItemGroup> 

Was Sie tun können, ist ein neues Projekt Konfiguration einrichten ( Menü Erstellen, Configuration Manager, wählen New aus der Aktive Lösungskonfiguration Drop-Down), dann den Knoten manuell diese ItemGroup ändern:

<ItemGroup Condition=" '$(Configuration)' == 'MyNewConfiguration' "> 
    <Compile Include="Helper.cs" /> 
    <Compile Include="Properties\AssemblyInfo.cs" /> 
</ItemGroup> 

Die zweite Möglichkeit, wie Sie in Ihrer Frage verwiesen haben, ist die Verwendung von bedingten Debug-Symbolen. Am Anfang der Datei haben die Anweisung

#if MYDEBUGSYMBOL 

und am Boden haben

#endif 

dann können Sie die Debug-Symbole definieren; Klicken Sie mit der rechten Maustaste auf Ihre Projektdatei, wählen Sie Eigenschaften, gehen Sie zur Build Registerkarte, und geben Sie das Debugsymbol in die Bedingte Kompilierungssymbole Textfeld ein.

Ich würde wahrscheinlich bei der ersten Methode bleiben.

+0

Ist das auch mit den alten VS2008-Projektdateien für C-Projekte möglich? – Christian

Verwandte Themen