Seite 1 von 1

.net version upgrade problem

Verfasst: Fr 20. Apr 2018, 01:09
von leeand
Visual studio 2015 project bisher mit client 4.5.2 problemlos programmiert. Nach upgrade auf client 5.12.1 (mit anpassen der GAC, deinstallierent der 4.5.2 version, installieren 5.12.1.0) scheint ein weiterarbeiten an dem Projekt nur möglich zu sein wenn die Datenbank gelöscht und neu der Oberfläche hinzugefügt wird. Ansonst bricht eine frische Compilierung ab mit Meldung:
Code generation for property ' connection' failed. Property accessor ' connection' on object "tableAdapterManager1" threw an exception: could not load file or assembly 'firebirdsql.data.firebirdclient, version=4.5.2.0 .....
Ich habe die neue client version 5.12.1 in die reference aufgenommen und ins locale Verzeichniss kopiert.
Im visual data designer sind alle Tables vorhanden und Data Preview ist ok. Das Entfernen und neuerliche Hinzufügen der Datenbank ist eine schlechte Option da sehr aufwendig.
Irgendwelche Ratschläge?

Re: .net version upgrade problem

Verfasst: Fr 20. Apr 2018, 09:25
von martin.koeditz
Guten Morgen,

ich bin kein VS-Experte, aber vielleicht ist dies ja ein möglicher Hinweis.

Da die Meldung zur Entwurfszeit generiert wird, ist es wahrscheinlich, dass du ein benutzerdefiniertes Steuerelement hast. Dieses benötigt einen Parameter oder einen anderen Wert. Und möglicherweise fehlt hier ein Standardwert.

In der VS-Entwurfsansicht wird eine Steuerelementinstanz erstellt, um sie im visuellen Editor zu rendern. Wenn das Steuerelement jedoch eine Eigenschaft erfordert, die festgelegt werden muss, bevor es gerendert werden kann, führt dies zu einem Fehler. Also solltest du zunächst überprüfen, ob die benutzerdefinierten Steuerelemente auch Standardwerte besitzen.

Es wird aber sicherlich Experten geben, die näheres hierzu erläutern können.

Gruß
Martin

Re: .net version upgrade problem

Verfasst: Mo 7. Mai 2018, 19:21
von bfuerchau
Irgendwo in dem Projekt muss es noch einen Verweis/Import/Using auf die vorherige Firebird-Assembly geben.

Ich würde den Firebirdclient auch nicht iin den GAC installieren sondern nur die Assembly als Referenz direkt in mein Projekt einbinden.
Dann ist diese auch jederzeit austauschbar.
Wichtig ist auf jeden Fall auch, dass man keinen Bezug direkt auf die bestimmte Version hat.

Vielleicht benutzt du ja noch eine weitere DLL im Projekt, die bereits umgewandelt ist und immer noch die alte Firebird.DLL haben will.