Ich habe eine Lösung in Visual Studio 2012 mit 170 C # -Projekten. Ich muss alle Projekte von .NET Framework 4.0 auf 4.5.2 neu ausrichten.
Ich ziehe es vor, Visual Studio damit umgehen zu lassen, indem ich in die Eigenschaften jedes Projekts gehe, das Zielframework ändere und Visual Studio alle erforderlichen Änderungen an den .csproj-Dateien vornehmen lasse.
Ich habe festgestellt, dass diese Änderungen das Hinzufügen einiger neuer XML-Tags zur .csproj umfassen, abhängig von einigen Attributen des aktuellen Projekts.
Wie kann ich alle 170 C # -Projekte stapelweise neu ausrichten, ohne nur ein Textwerkzeug zum Ersetzen zu verwenden, um die gewünschte Versionsnummer zu ersetzen? Ich möchte, dass Visual Studio alle erforderlichen Tag-Änderungen und -Zusätze vornimmt und das Ersetzen allein dies nicht zulässt.
quelle
Antworten:
In der MSDN-Dokumentation " Migrationshandbuch zu .NET Framework 4.5 " und " Konfigurieren einer App zur Unterstützung von .NET Framework 4 oder 4.5 " werden nur das Ändern von Projekten erläutert. Es gibt keine Details zum gleichzeitigen Anwenden von Änderungen auf die gesamte Lösung, und ich habe in VS keine Funktion gesehen, die dies unterstützt.
In der Visual Studio-Galerie ist jedoch eine (gut bewertete) Erweiterung namens Target Framework Migrator verfügbar, die ein Upgrade auf 4.5.2 (sowie neuere Versionen **) unterstützt und anscheinend genau das tut, was Sie möchten. Der Quellcode ist auf GitHub verfügbar , wenn Sie interessiert sind.
Beachten Sie, dass das Fehlen einer solchen Funktion beabsichtigt sein kann (und nicht nur eine Auslassung). Ich vermute nur, aber vielleicht werden nur Projekte von MS aktualisiert , die die neuen Frameworks benötigen . FWIW, wenn Sie am Ende einige Projekte aktualisieren, die für andere Lösungen freigegeben sind, können diese Lösungen möglicherweise erst erstellt werden, wenn sie ebenfalls aktualisiert wurden.
Wenn Sie sich jedoch in einem kleinen Geschäft mit nur einer (oder wenigen) Lösungen befinden und alles auf einmal aktualisieren möchten, funktioniert das oben beschriebene Tool möglicherweise für Sie.
Wenn Sie es nicht mit einer neueren .NET Framework-Version zum Laufen bringen können, überprüfen Sie die vorhandenen PRs und Probleme auf Korrekturen, müssen diese jedoch möglicherweise selbst anwenden. Beispielsweise hat jemand einen Fix für .NET Framework v 4.7.1 veröffentlicht . Hoffentlich werden diese zusammengeführt, aber ich würde meinen Atem nicht anhalten.
Wenn jemand anderes den gleichen Fehler wie Anas sieht (in den Kommentaren), gibt es hier ein GitHub-Problem von vor ein paar Wochen und ein weiteres möglicherweise verwandtes Problem von 2017. Erwägen Sie, die Daumen zu erhöhen und weitere Details hinzuzufügen, wenn Sie das gleiche Problem haben .
quelle
Für eine .NET Framework-Lösung hat ein einfaches " In Dateien ersetzen " den Trick für mich getan:
Beispiel : Von .NET Framework 4.5.2 zu .NET Framework 4.7.2
In package.config Dateien ersetzen alle
zu
Ersetzen Sie in * .csproj- Dateien alle
zu
quelle
Da der Target Framework Migrator defekt ist, habe ich meine eigene Suche / Ersetzung durchgeführt (mit Git Bash funktioniert es unter Windows einwandfrei). Grundsätzlich ändert es die Version 4.6.x in Version 4.7.2 und konvertiert dann die Dateien zurück in die CRLF des berüchtigten DOS:
quelle
Update-Package -ReInstall
wundere ich mich. Vielen Dank!Ich habe mir ein einfaches Tool zum Migrieren der Zielframeworkversionen für eine gesamte Lösung erstellt, da die Target Framework Migrator-Erweiterung Visual Studio 2017 nicht unterstützt. Laden Sie das Tool aus meinem GitHub-Repository https://github.com/Xpitfire/TargetFrameworkMigrator herunter
Ich weiß, dass dies nicht der beste Weg ist, aber es hat bei mir funktioniert und vielleicht hilft es auch jemand anderem.
quelle
Target Framework Migrator ist ziemlich nützlich. Standardmäßig wird Version 4.7 verwendet. Es ist jedoch einfach, Unterstützung für Version 4.7.1, Version 4.7.2 und Version 4.8 hinzuzufügen.
Suchen Sie die Datei Frameworks.xml im Ordner C: \ Users {Benutzername} \ AppData \ Local \ Microsoft \ VisualStudio \ und bearbeiten Sie sie, indem Sie die folgenden Framework-Versionen hinzufügen:
Nach dem Neustart von Visual Studio werden neue Versionen angezeigt.
quelle
quelle