Ich möchte sowohl .NET 3.5 als auch .NET 4.0 in meiner Visual Studio 2010-Lösung einsetzen.
Ich bin mir bewusst, dass ich <TargetFrameworkVersion />
in meinen Projektdateien einstellen kann. Dies erfordert jedoch, dass ich jede Projektdatei vor dem Erstellen der Lösung für eine bestimmte .NET Framework-Version bearbeiten muss. Scott Dorman bietet ein Makro, das den Trick auf seinem Blog post Visual Studio 2010 und Target Framework Version .
Ich suche nach einer globalen Lösung, bei der ich die Einstellung nicht in jedem Projekt ändern muss. Ist es möglich, eine zentrale Einstellung auf der Lösungsebene zu ändern, um dasselbe zu erreichen?
Wie Jon Skeet schrieb, gibt es keine offensichtliche Möglichkeit, das Zielframework auf der Lösungsebene zu definieren. Dies kann jedoch durch Hinzufügen spezifischer Konfigurationen zur Lösung und anschließende manuelle Bearbeitung der *.csproj
-Dateien erfolgen, um die Ziele für jede Konfiguration anstatt global für das gesamte Projekt anzugeben.
Hier ist eine Schritt-für-Schritt-Anleitung:
Debug v3.5
) basierend auf Ihren bereits vorhandenen Einstellungen ein. <PropertyGroup>
-Element, das mit der gerade erstellten Konfiguration übereinstimmt (z. B. Debug v3.5|AnyCPU
). </PlatformTarget>
, dem <TargetFrameworkVersion>
und <TargetFrameworkProfile>
, die Sie benötigen. Hier ist ein Beispiel:
%Vor% Beachten Sie, dass ich auch das Symbol% co_de% definiere, mit dem ich rahmenabhängige DOTNET35
-Anweisungen im Quellcode schreiben kann. Ich hatte zum Beispiel ein paar Code-Teile, die sich auf #if
stützten, und durch Hinzufügen einer minimalistischen Version der Klasse konnte ich meine .NET 4.0-Anwendung auf .NET 3.5 zurück portieren.
Hier ist mein Ausschnitt:
%Vor%Nicht, dass ich mir dessen bewusst bin.
Beachten Sie, dass ein Projekt Teil mehrerer Lösungen sein kann oder unabhängig von beliebigen -Lösungen erstellt werden kann. Daher könnte eine Option "Lösungsebene" wirklich den Standard beim Erstellen eines neuen Projekts festlegen.
Wenn Sie die Projektdateien manuell bearbeiten, glaube ich , dass Sie in der Lage sein sollten, eine einzige Projektdatei mit Konfigurationen für .NET 3.5 und .NET 4 zu erstellen .NET 2 und .NET 3.5 vorher.) Dann könnten Sie verschiedene Konfigurationen auf Lösungsebene haben, die auf die relevanten Konfigurationen auf Projektebene abzielen.
Tags und Links .net visual-studio-2010