2009-03-20 17 views
1

Ich verwende derzeit Microsoft Visual C# Express Edition (mit SP1) für ein Projekt. Ich erhalte seltsame Fehler im Editor Forms, wenn eine bestimmte Form der Bearbeitung der Nachricht lautet:Fehler im Windows Forms Editor

Typ 'System.Windows.Forms.Control' in der Montage ‚System.Windows.Forms, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089 'ist nicht als serialisierbar gekennzeichnet.

und es scheint bei dem Versuch, das Formular zu speichern. Es erscheint meistens 3 bis 5 mal hintereinander, aber manchmal erscheint es auch alle paar Sekunden nonstop, bis ich die Anwendung abbringe.

Ich glaube, es beginnt, als ich versuchte, einige Application-Einstellungen hinzuzufügen, aber ich kann nicht scheinen, es zu reproduzieren.

Irgendwelche Ideen, wie man den Fehler entdeckt, würden geschätzt, danke.


Bearbeiten: Speichern des Formulars bedeutet, klicken Sie auf die Schaltfläche "Speichern" in Visual C# Express. Ich versuche nicht, es manuell zu serialisieren, der Fehler erscheint beim Bearbeiten des Formulars in der IDE.

Bearbeiten: Hier ist ein Screenshot - Dies erscheint, wenn ich das Formular speichern.
http://img10.imageshack.us/my.php?image=notserializable.png

+0

Sie sind noch nicht weit gekommen, veröffentlichen Sie Ihr Projekt in einem Dateifreigabeservice, damit wir es selbst ausprobieren können. –

Antwort

1

Der Windows Forms-Designer serialisiert Ihre Form, wie Sie es bearbeiten, in der .Designer.cs. Aus diesem Grund sehen Sie den Fehler häufig beim Bearbeiten Ihres Formulars.

In der Regel bearbeiten Sie Klassen, die von UserControl oder Form stammen, im Designer. Ihr Fehler scheint darauf hinzuweisen, dass versucht wird, ein Control zu serialisieren. Haben Sie die Basisklasse von MainForm in Control geändert?

Oder haben Sie die MainForm.Designer.cs-Datei manuell bearbeitet? Ich empfehle dringend, die Datei .Designer.cs nicht direkt zu bearbeiten, da es sonst sehr leicht ist, die Windows Forms Designer-Unterstützung zu unterbrechen.

+0

Die Basisklasse meiner MainForm ist "Form". Ich habe (mehr oder weniger) versehentlich die MainForm.Designer.cs-Datei geändert. Ich könnte versuchen, das Formular zu löschen und es manuell neu zu erstellen, um zu sehen, ob sich das ändert. Gibt es noch andere Möglichkeiten? – dasmaze

+0

Wenn Sie eigene benutzerdefinierte Steuerelemente in dieses Formular eingebettet haben und diese Steuerelemente beim Erstellen Ausnahmen verursachen, kann dies den Windows-Formular-Designer beschädigen. Eine Möglichkeit, diese Fehler zu erkennen, ist das Debuggen von devenv mit einem anderen devenv! Wenn Ihr Code fehlerhaft ist, wird Ihr Code beschädigt. –