Felix  RuthenbergWPF Designer mit Fake-Daten füttern um Connection String Fehler zu vermeiden


Beim Erstellen eines WPF-Projektes, das über eine ausgelagerte Bibliothek auf Daten über das Entity-Framework zugreift zeigt Visual Studio (2008 SP1) ein seltsames Verhalten.  Die Anwendung kompiliert (solange fehlerfrei natürlich) allerdings ist der Designer “tot” und folgende Fehlermeldung (nicht Warnung) wird angezeigt:

“The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid.”

Offensichtlich ein Fehler über einen fehlenden Connectionstring (fehlerhaft eher nicht, da der Connectionstring über den VS Wizard generiert wurde).  Doch hinzufügen des Strings in die Sektion ConnectionStrings der App.Config bringt auch nicht den gewünschten Erfolg.

Das ist darauf zurückzuführen, dass während der Design-Zeit VS versucht uns LiveDaten zu präsentieren, dazu versucht der Prozess devenv.exe (nämlich unsere Instanz von Visual Studio) die benötigte Verbindung aufzubauen und sucht vergeblich in der eigenen Applikationskonfiguration (also in devenv.exe.config) nach dem entsprechenden Connectionstring.

Als Workaround empfiehlt Microsoft (https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=386982), dass Fake-Daten während der Entwicklungszeit generiert und geliefert werden sollen.  Das bedeutet, dass wir die Klassen, die uns das EntityDataModell erzeugt hat zwar nutzen können, aber nicht über dieses befüllen.  Hierfür lassen sich die Präprozessordirektiven von C# prima einsetzen (http://msdn.microsoft.com/de-de/library/ed8yd1ha.aspx).  Einfach mit Hilfe der Direktive #define am Anfang des entsprechenden Dokuments eine Konstante (als Name zum Beispiel “DesignView”) definieren und die mit der Direktive #if DesignView an entsprechender Stelle abfragen.  Der Vorteil ist dabei, dass Code, der nicht benötigt wird auch gar nicht erst kompiliert wird.

Microsoft verspricht diesen Bug in VS 2010 zu beheben, in der Beta 2 ist davon allerdings noch nichts zu merken.



Kategorien: .Net;C#;WPF; 23.11.2009 10:15:37


 


Neuen Kommentar einfügen:

  Titel:   
  Name:
  E-Mail:
  Kommentar:

 
 


Kommentare




© Copyright 2008 ppedv AG