Laden...

Erst beim zweiten Übersetzen: List<MeineKlasse> kann nicht in List<MeineKlasse> konvertiert werden

Erstellt von RitterChristian vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.388 Views
R
RitterChristian Themenstarter:in
137 Beiträge seit 2007
vor 15 Jahren
Erst beim zweiten Übersetzen: List<MeineKlasse> kann nicht in List<MeineKlasse> konvertiert werden

Hallo,

habe einen extrem nervigen Bug in VS 2005/2008 gefunden. Sage deswegen VS, weil ich das exakt selbe Projekt auch mit SharpDevelop getestet habe, und dort läuft es nur zu perfekt, also so, wie es eigentlich immer laufen sollte.

Leider kann ich das von VS 2005/2008 in dieser Beziehung nicht sagen. Kostet ein Heidengeld, aber hat immernoch denselben nerv-bug, denn die kostenlose (aber nicht ganz so gute wie VS) Variante SharpDevelop nicht hat.

Es geht prinzipiell darum, dass mein Code sehr basic ist, also keine ultra-langen Code-Exzesse in der Routine, die offenbar für den oben genannten Bug verantwortlich ist.

Klartext:

  1. Ich habe eine ganz normale Klasse mit einer List<...>. Welche Klasse ist egal, ist eine eigene.
  2. Ich kompilier und starte
  3. Läuft normal
  4. Ich beende, dann refresht sich der Formulardesigner unmittelbar, einfach, ohne dass irgendein minifetzen geändert wurde
  5. Der Weiße Bildschirm kommt mit der Nachricht, dass offenbar eine Klasse nicht in dieselbe konvertiert werden konnte.
    Es ist genau diese List<...>! Ist mir noch NIE passiert!

Was soll das? Wäre ja genauso wie wenn

String nicht in String konvertiert werden könnte!

Wenn ich wenigstens die Gewissheit hätte, dass mein Code dafür verantwortlich ist, wäre das ja nicht schlimm, aber wie gesagt, der gesamte Projekt-Code ist die pure Basic-Sache (warum kompliziert schreiben...) ohne komplizierteste Code-Verrenkungen.

Ich checks echt nicht, wie gesagt, es ist definitv ein VS PRoblem SÄMTLICHER Versionen! Hab die 2008 Team Suite, und für das ätzendviele Geld immer noch diesen %"&)($&(§&% Fehler denn die KOSTENLOSE OPEN SOURCE Variante SharpDevelop NICHT hat!

Was soll der Scheiss, Microsoft?

Kommt Leute, ich bin echt chillig wenn es um Microsoft geht, ich bin nicht so einer der STÄNDIG wegen ALLEM was von MS kommt, motzt und sich hirnlos aufregt. Ich finde die Sachen von denen auch echt gut, muss mal ne Lanze für MS brechen (auch wenn das manchen nicht passen wird, aber scheiss drauf).

Aber was soll DAS denn? So ein dämlicher Bug (offenbar im Forms-Designer von VS) der schon seit der ersten Public-Version von VS2005 existiert, in der sündteuren Team Suite? Angesichts dessen kann ich 10000%ig verstehen, warum man stinksauer auf MS sein kann. Und bin ich nun auch! SharpDevelop leistet mir das ohne Bug!

Warum ist das nun so eine große Sache? Ganz einfach: Ich arbeite an dem einen PRojekt seit Monaten (ziemlich viel!) und dann kommt der Bug, und versaut mir meine GANZE arbeit! Und das letzte Backup ist lang her! Hätte ich das kommen sehen, würde ich jede Sekunde ein Backup machen (mach ich ab sofort auch).

Zum K***en. Wie gesagt, für SO VIEL GELD verlange ich, dass solche Sachen nicht passieren!

Aber was ich eigentlich wollte, ist zu wissen, wie ich das umgehen kann. Wer was weiß, bitte an den enttäuschten Threadstarter (ich) posten, danke.

Projekte:
http://code.google.com/p/freeminerdotnet/ - MMORPG-Maker im grafischen Stile von Minecraft
http://code.google.com/p/directzzt/ - ZZT Remake mit eigenen Ideen

5.742 Beiträge seit 2007
vor 15 Jahren

Hallo RitterChristian,

irgendwie kann ich dein Problem nicht nachvollziehen:


public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
    }
}

public class Foo
{
    public List<Bar> Property
    {
        get;
        set;
    }
}

public class Bar
{
}

wird anstandslos kompiliert und auch gestartet.

Wenn ich nun das Programm beende (egal, ob normal oder über VS), wird weder der Designer der Form refresht, noch erhalte ich eine Fehlermeldung.

Wie sieht denn dein Testcode aus?

Ich arbeite an dem einen PRojekt seit Monaten (ziemlich viel!) und dann kommt der Bug, und versaut mir meine GANZE arbeit! Und das letzte Backup ist lang her!

Wieso ist deine ganze Arbeit umsonst? Der Code wird ja nicht gelöscht?!?

R
RitterChristian Themenstarter:in
137 Beiträge seit 2007
vor 15 Jahren

Hallo,

danke für die Antwort 🙂

Bin gerade tierisch gestresst. Hab den Code auf meinem anderen PC, werd ihn demnächst posten.

Der Code wird zwar nicht gelöscht, aber es lässt sich nicht mehr kompilieren, da ständig der Error kommt. Ich werd ein bild posten, aber recht viel komplizierter ist der Code nicht.

Liegt übrigens auch nicht an meinem Rechner, meiner in der Arbeit (wo ichs getestet hab) hat Win XP (kann also nicht an Vista liegen). Trotzdem selbe Fehler.

Einfach nur frustirierend.

Es kann demnach nur und ausschließlich an VS liegen, da ich es mit SharpDevelop nicht geschafft habe, diesen Fehler zu erstellen.

Traurige Gewissheit.

Aber danke für deinen Rat 😉

EDIT: Doch hier. Wunder des SVN, vor lauter bäumen den wald nich 😉

Das hier ist das angeblich so unglaublich schwer zu castende List<...> bzw. Klasse.
Vorsicht, die hat es in sich (glaubt zumindest VS):

        public List<DesignerPanelElement> Elements {
            get { return this._elements; }
            set { this._elements = value; }
        }

Und hier die Props von der Klasse. Wie gesagt, nichts besonderes, reicht aber, um VS zu verwirren ob des Castens:

Properties sind entsprechend; alles ganz legitim und normal initialisiert etc.

        private int _id;
        private string _name;
        private Size _size;
        private Point _location;
        private int _zOrder = 0;
        private List<DesignerPanelElement> _targets = new List<DesignerPanelElement>();

Falsch KANN es NICHT sein, da es ja zuerst korrekt ausführt und kompiliert. Erst nach dem Beenden goes to Whitescreen. 🙁

@ WinSharp93:

Der Code ist insofern "verloren", dass wenn ich wieder versuche, die entsprechende Form zu öffnen, es schlicht nicht geht! Sonst hätte ich hier ja nich gepostet.
Er sagt zwar "ignorieren und fortsetzen", aber dann ist die Form KOMPLETT LEER und die Arbeit ist dann halt verloren, da ich komplett neu designen muss! Und das sehe ich schlicht nicht ein, da ich einen verdammten Haufen Geld bezahlt hab! Ich denke, du verstehst was ich meine.

Projekte:
http://code.google.com/p/freeminerdotnet/ - MMORPG-Maker im grafischen Stile von Minecraft
http://code.google.com/p/directzzt/ - ZZT Remake mit eigenen Ideen

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo RitterChristian,

Bin gerade tierisch gestresst.

kein guter Zeitpunkt, um zu posten.

Insgesamt solltest du nicht so eine Welle schieben, wenn die Ursache unbekannt ist. Tausendfach wird auf irgendwelche Produkte von MS oder Bugs im Framework geschimpft, die sich dann am Ende doch als eigene Fehler herausstellen.

Nebenbei erhöht sich dein Chance auf eine sachliche und damit hilfreiche Antwort, wenn du selber sachlich bleibst.

herbivore

R
RitterChristian Themenstarter:in
137 Beiträge seit 2007
vor 15 Jahren

@herbivore:

Wie ich sagte, ich schimpfe nicht auf MS, aber in diesem Fall ist es berechtigt. Ich bin der letzte, der einfach so auf MS schimpft nur der Schimpfe wegen (wie z.B. bei Vista).

ABer ich finde, für um die 20.000 Euro kann man einfach erwarten, dass sowas nciht vorkommt, zumal der Fehler schon seit fast vier Jahren (kein Scherz) existiert, und auch Frank Eller (ihr kennt ihn bestimmt) ihn schon einmal angemerkt hat, und trotzdem hat Microsoft nichts getan!

Darum geht es mir, herbi. Nicht um das gebashe was vielleicht auf euch so wirkt, aber wie gesagt fast 1/4 von 100.000 (in worten: Hundertausend!) Euro sollte sowas nicht passieren.

Ich bin sonst sehr tolerant, ja, aber bei sowas hört es echt auf.

Wie gesagt: 20.000. Fast ein guter Kleinwagen oder je nachdem.

Sorry falls das auf euch wie Gebashe gewirkt hat, war nicht meine Absicht. Aber... naja, ihr wisst schon.

Projekte:
http://code.google.com/p/freeminerdotnet/ - MMORPG-Maker im grafischen Stile von Minecraft
http://code.google.com/p/directzzt/ - ZZT Remake mit eigenen Ideen

5.941 Beiträge seit 2005
vor 15 Jahren

Hallo zusammen

dito mit herbivore.

Leider bringen deine ganzen Worte nicht wirklich viel.
Hast du einen Link zur Aussage von Frank?
Hast du einen Link zur Microsoft Connect Seite mit dem entsprechenden Issue?
Beispielanwendung die den Fehler reproduziert?

Gruss Peter

--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

630 Beiträge seit 2007
vor 15 Jahren

Hallo RitterChristian,

poste doch mal die Fehlermeldung und den Code-Ausschnitt bei dem der Fehler auftritt.

Gruss
tscherno

To understand recursion you must first understand recursion

http://www.ilja-neumann.com
C# Gruppe bei last.fm

193 Beiträge seit 2006
vor 15 Jahren

Hallo zusammen,

für mich hört sich das ganze nach einem Problem mit dem Code-Serializer von Forms-Designer von VS an.

Hast du schon einmal probiert dem Designer mit dem Attribut


[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]

auf deinem Property zu verbieten Code für das Property zu erstellen?

Gruß Jake

C
448 Beiträge seit 2007
vor 15 Jahren

Hallo RitterChristian,

ich kenne Dein Problem, ist mir schon öfters passiert.
Es ist besonders ärgerlich, wenn das Projekt schon einen gewissen Umfang angenommen hat. Ich war bei den ersten Malen auch verzweifelt, habe aber dann für mich eine Lösung gefunden.

Ich schließe das VS, lösche die "Solution User Options" (*.suo) und starte VS neu.
Man muss zwar einige Einstellungen erneuern (z.B. welches Projekt ist als Startprojekt festgelegt), aber der Fehler ist weg.

Probiers einfach mal.

Christel

Es ist schlimm, eine Ausnahme zu sein, aber noch schlimmer, keine zu sein.

4.931 Beiträge seit 2008
vor 15 Jahren

Ich habe auch einen nervigen Bug bei einem VS-Projekt. Und zwar wenn ich das Hauptformularfenster offen hab (also den Designer-Modus) und dann das Projekt kompiliere, so ändert er mir selbständig die Fenstergröße (die Höhe wird verkleinert) und ein '*' erscheint im Tabreiter -(

Also muß ich immer daran denken, das Fenster wieder zu schließen, bevor ich kompiliere...

Bei so einem umfangreichen Produkt wie das VS kann man halt nicht jeden Bug fixen (dies sage ich auch immer meinen "Kunden" bei meinen Projekten -)

Man muß sich halt einen Workaround suchen und damit dann leben.

4.506 Beiträge seit 2004
vor 15 Jahren

Hallo RitterChristian,

ich bin wie die meisten hier auch der Meinung, dass man seine Missgunst über etwas zwar ausdrücken kann, aber auch der Ton macht die Musik, ich fand das sagen wir mal so: "nicht sehr erwachsen".

Aber zu Deinem Problem, es könnte folgendes für Dich relevant sein:
MS KnownBug, hat da schon jemand mit MS kommuniziert...
Designer Problem
Fehler im VS 2005 Designer

Dann gleich die Frage: Alle Service Packs und Updates drauf (auch für Windows)?

Grüße
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”