2016-05-16 13 views
1

Ich habe einige seltene Form Erbe. Ich habe eine allgemeine Basisform in einem Projekt.

In einem anderen habe ich die Söhne. Aber da ich sie entwerfen muss und es scheint, dass Sie nicht etwas entwerfen können, das von einer generischen Form herrührt, muss ich einige Zwischenformen verwenden.

So habe ich die Form, die ich aus der Zwischenform verwenden. Und das Zwischenprodukt erstreckt sich von der generischen Basis.

Die Basis:

namespace GestioBaseForanies 
{ 
    public partial class frmGestioBaseForanea<T> : Form where T : class, TeActiu 

Die Zwischen:

namespace GestioFillForanies.Intermediates 
{ 
    public partial class InterUsuario : frmGestioBaseForanea<Entity.Usuari> 

Und die, die ich benutze:

namespace GestioFillForanies 
{ 
    public partial class Usuario : Intermediates.InterUsuario 

So ist es kein Problem gearbeitet, aber dann und aparently aus Der "Usuario" -Designer kann nicht geladen werden und teilt mir mit, dass auf der Seite kein Verbindungszeichenfolgename "ContextES" vorhanden ist eine app.config.

enter image description here

Die Verbindungszeichenfolge Name ist das Entity Framework String. Es ist in der Konfigurationsdatei und ich kann das Programm erstellen und ausführen, aber ich kann nicht entwerfen.

Antwort

1

Sie müssen den Code in Ihrem Windows-Formular umbrechen, das versucht, eine Datenbankverbindung zu initialisieren. Dies wird höchstwahrscheinlich in Ihrem Konstruktor in dem Formular sein. Setzen Sie jeden Code, der auf die Datenbank zugreift, in die if-Anweisung, damit sie beim Öffnen des Designers nicht ausgeführt wird.

 InitializeComponent(); 

     if (LicenseManager.UsageMode != LicenseUsageMode.Designtime) 
     { 
       // SQL/EF CODE HERE 
     }