2009-05-06 14 views
3

Angenommen, eine Lösung enthält nur Klassen und diese Klassen sind alle in .NET 2.0-Spezifikationen geschrieben. Wenn diese Lösung in Visual Studio 2008 geöffnet, konvertiert und gespeichert werden würde, wäre es dann möglich, die Lösung später in Visual Studio 2005 mit einigen minimalen Änderungen an der .SLN-Datei erneut zu öffnen?Wie konvertiert man eine Visual Studio .NET 2008-Lösung zu Visual Studio .NET 2005?

Wie würde man das machen?

Gibt es ein Tool, das .SLN-Dateien von 2008 auf 2005 herunter konvertiert, wenn alle in der Lösung enthaltenen Klassen bereits in .NET 2.0-Spezifikationen geschrieben sind?

Antwort

6

Normalerweise müssen Sie nur mit .SLN-Dateien die Versionsnummer am Anfang der Datei ändern.

Ihre CS-Projektdateien werden auch fast in Ordnung, und wenn sie es nicht ist, sind möglich, sie zu optimieren, so dass sie mit den Jahren 2005 und 2008

Wir waren für eine Weile mit zwei Lösungsdateien lief OK sind (05 und 08) teilen sich die gleichen CS-Projektdateien.

Beachten Sie jedoch, dass Sie VC-Projektdateien zwischen den beiden Versionen nicht teilen können.

Die ‚zwicken‘ für die Projektdateien ist wie folgt:

CS Projekte auf VS2008 erstellt die Zeile enthalten:

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> 

VS2005 wird auf diese ersticken, und Sie müssen es ändern zu folgendes:

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> 

Letzteres wird mit den Jahren 2005 und 2008 arbeiten

+0

Und als ggf31416 sagte unten, können Sie ein Werkzeug verwenden, das dies für Sie tut: http://www.emmet-gray.com/Articles/ProjectConverter.htm (unterstützt VS2010 auch). – Groo

-2

Es gibt keinen direkten Weg, und es ist eine große Aufgabe, wenn Sie es versuchen. Der einfachste Weg wäre, ein neues 2005-Projekt zu erstellen und Ihre Klassen hinzuzufügen.

Für den Anfang: Das sind die Unterschiede, die Sie sehen würden:

CSPROJ Dateien: (diese basieren auf MSBuild Schema)

(edit)

  • Toolsversion
  • Produktnummer
  • Projektversion

(entfernen)

  • OldToolsVersion
  • TargetFramework

SLN-Dateien: (kein Schema)

  • Format Version 10.0

usw.

+0

Dies ist nicht wahr. CS * -Projekte * können zwischen den beiden Versionen geteilt werden. –

+0

Das OP fragte nach Lösungsdateien. Ich habe meiner Antwort einige Details hinzugefügt, die Ihnen sagen, warum es schwierig ist. (Ich habe nie gesagt, dass es unmöglich ist.) – dirkgently

2

Ja, es ist möglich, wenn Sie die Lösungsdateien "downgraden".

Nein, es gibt kein solches Werkzeug, von dem ich weiß, und ich habe gesucht.

Sie haben drei Möglichkeiten:

  1. nicht die Lösung Datei im Jahr 2008 geöffnet und damit ein Upgrade nie
  2. Nicht-Client-Versionen für die gleichen Dateien mischen (. Also halten Sie sich an 2005 oder jedes Upgrade)
  3. Halten separate Lösung Dateien für 2005 und 2008, stellen Sie sicher, dass alle die gleichen Projekte

Dank @Will Dean für erinnert mich, dass Projektdateien in beiden vorhanden sind kann in der Tat geteilt werden. Beachten Sie, dass sie vom Redakteur von 2008 berührt werden, aber sie können später im Jahr 2005 geöffnet werden.

+0

Für CS-Projekte ist es nicht notwendig, separate Projekte zu behalten, Sie können sie zwischen 2005 und 2008 teilen. –

+0

Projekte ja, Lösungsdateien nein. – Russ

+0

Ich lief tatsächlich in einer Situation, in der ein C# -Projekt (keine Lösung) von Visual Studio 2008 nicht in Visual Studio 2005 geladen werden konnte. Der Fehler war: "Das importierte Projekt" C: \ Microsoft.CSharp.targets "wurde nicht gefunden. " – James

3

Wenn Sie keine "ausgefallenen" Funktionen im Jahr 2008 verwenden, ändert sich nach meiner Erfahrung nur die Versionsnummer an einigen Stellen. Das kann manuell bearbeitet werden (es ist am Anfang der Datei IIRC). Es ist zumindest einen Versuch wert.Wenn Sie VS2008-spezifische Funktionen (Designer usw.) verwendet werden, funktioniert es vielleicht nicht, aber für einfache Klassenbibliotheken hatte ich Erfolg.

Sie könnten Interesse an einer blog post about VS2005 and VS2008 co-existing, die ich vor einer Weile schrieb.

Verwandte Themen