Wie konvertiert man VS2003-Klassen automatisch in partielle Designer.cs-Dateien?

9

Ich aktualisiere ein Projekt von Visual Studio 2003 auf 2008 und möchte automatisch XXX.Designer.cs -Dateien erzeugen und das entsprechende XXX.cs Original aktualisieren.

Irgendein automatischer Weg, es zu tun?

UPDATE : Ich beziehe mich auf WinForms. Natürlich weiß ich, dass der alte Stil funktioniert, aber ich suche nach einem Weg, um zu dem neuen Stil zu gelangen, ohne es von Hand zu machen.

    
FerranB 17.04.2009, 23:09
quelle

4 Antworten

3

Da gibt es ein Makro, das das macht. Ich habe es benutzt und es funktioniert großartig. Beginnen Sie mit der Betrachtung von Nathan Jones Blog . Wenn Sie nicht viel Glück haben, dann laden Sie eine Zip der Makro-Quelle (ich gepostet) von VSCONVERT - PasteBin

    
ja72 06.09.2010 05:41
quelle
1

Die ursprünglichen Klassen funktionieren weiterhin - sogar mit dem Visual Studio-Designer. Der Code, den die VS in den Designer-Klassen steckt, soll einfach das "Rauschen" des Entwicklers in eine separate Datei entfernen, damit Sie sich auf den nicht-visuellen Code in Ihrer Klasse konzentrieren können.

Sobald Sie das Projekt mit dem Assistenten nach VS2008 migriert haben, können Sie Ihre Formulare in VS öffnen und so bearbeiten, wie Sie es zuvor getan haben. Alle neuen Formulare, die Sie erstellen, erhalten Designer-Backer-Dateien.

    
Paul Alexander 18.04.2009 01:40
quelle
1

Wir hatten dieses Problem.

Grundsätzlich sollte die Designerdatei nur eine Menge von Objektdeklarationen (d. h. die Objekte auf dem Formular) und den Aufruf InitializeComponent () enthalten. Wenn Sie an Ihrem Konstruktor irgendwelche schlauen Arbeiten gemacht haben, die auch dort sein könnten.

Erstellen Sie einfach eine Datei namens MyForm.Designer.cs und fügen Sie sie dem Projekt hinzu. VS2008 wird es automatisch unter MyForm.cs platzieren. Von dort aus, wenn Sie die partielle Klassenüberschrift und den Namespace erstellen, kopieren Sie dann über alle Deklarationen und Initializecomponent Aufruf in die Designer-Datei, dann wird es funktionieren.

Aber wenn Sie müssten, würden die Leute initializecomponent bearbeiten und auch den Standardkonstruktor bearbeiten, VS2005 und 2008 könnten diese Dateien nicht automatisch aktualisieren, da alle möglichen seltsamen Dinge auftreten könnten. Ich schätze aus Sicht des Projekts, welchen Nutzen Ihrer Meinung nach Ihr Arbeitscode aus der Trennung ziehen wird?

    
Spence 18.04.2009 23:38
quelle
0

Ich bin mir nicht sicher, ob ich das verstehe, aber ich rate mal.

War das ein ASP.NET-Projekt in VS2003? Hatte es .Designer.cs Dateien drin? Ist es der Fall, dass Sie ein Upgrade durchgeführt haben, aber Sie feststellen, dass Sie jetzt keine .Designer.cs-Dateien haben?

Wenn ja, haben Sie möglicherweise versehentlich Ihr Webanwendungsprojekt in ein Website- "Projekt" geändert. Diese Art von "Projekt" wurde in VS2005 eingeführt, also hätten Sie es noch nicht gesehen. Dies sind keine realen Projekte (keine .csproj-Datei), und sie haben viele andere Unterschiede.

Wenn Ihr Projekt früher keine .Designer.cs-Dateien enthielt, warum möchten Sie sie dann jetzt?

Im Allgemeinen besteht die Methode zum Erstellen von Designer-Dateien darin, die Datei in einem Designer zu öffnen. Warten Sie einige Augenblicke, bis der Designer fertig ist, was er tut (Aktualisieren des Bildschirms usw.). und dann speichern Sie die Datei. Möglicherweise müssen Sie das Original "anfassen", damit der Designer die Dinge neu bewerten kann.

    
John Saunders 17.04.2009 23:13
quelle

Tags und Links