Eine C # -DLL funktioniert nicht, wenn sie im vb.net-Projekt verwendet wird

8

Ich benutze vb.net 2013. Ich versuche ein Tool zu verwenden, das ich mit NUGET installiert habe. EntityFramewrok.Utilities / link: Ссылка Dies ist eine Open-Source-DLL und der gesamte Code kann heruntergeladen werden. Von dieser DLL versuche ich die "IncludeEFU" -Methode zu verwenden. Im obigen Link ist ein Code, den ich bei C # -Projekt verwende und arbeitet:

%Vor%

Ich versuche, in meiner VB.net-Anwendung den gleichen Code wie folgt zu verwenden:

%Vor%

Aber ich bekomme einen Fehler:

%Vor%

Wenn ich die Dateien im Projekt der DLL (die über den Link heruntergeladen werden können) einzeln inspiziere, sehe ich, dass die Fehlermeldung, die ich bekomme, von dieser Untergruppe kommt:

%Vor%

Sieh dir die Zeile an:

%Vor%

Warum funktioniert das in einem C # -Projekt und erzeugt diesen Fehler in einem VB.net-Projekt? Wie kann ich dieses Problem lösen? Danke!

Bearbeitet: Ich versuche einige Änderungen in diesem Sub zu machen:

%Vor%

Nachdem ich die DLL-Datei neu erstellt habe, und jetzt die Fehlermeldung verschwindet. Aber kann jemand bestätigen, dass dies eine richtige Lösung ist?

    
alex 02.02.2015, 21:27
quelle

2 Antworten

1

Die ursprüngliche EntityFramework.Utilities-DLL wurde möglicherweise mit einem anderen .NET-Zielframework als das Ihrer VB.NET-Anwendung erstellt.

Dies könnte erklären, warum die ursprüngliche DLL nicht funktioniert hat, während Ihre neu erstellte DLL (unter Verwendung desselben .NET "Zielframeworks", das für Ihr Projekt in VS.NET 2013 definiert wurde) funktioniert hat.

Um das "Ziel-Framework" für VS.NET zu untersuchen, klicken Sie mit der rechten Maustaste auf das entsprechende Projekt im Projektmappen-Explorer und klicken Sie dann auf die Option "Eigenschaften". Auf der Registerkarte "Anwendung" wird die Bezeichnung "Zielframework:" mit einer Pulldown-Eingabe der verfügbaren .NET Framework-Versionsnummern angezeigt. Die aktuelle Einstellung dieses Pulldown ist das .NET "Target Framework", das verwendet wird, um Ihr Build in VS.NET 2013 zu erstellen.

    
JohnH 11.02.2015 22:31
quelle
0

Dieser Fehler liegt daran, dass VB- und C # -Ausdruckbäume eine andere Struktur haben. Ich nehme an, sie würden gleich sein, also arbeitet VB gerade nicht. Hoffentlich komme ich bald dazu, eine neue Version zu bauen, wo dies behoben ist.

    
Mikael Eliasson 01.04.2015 06:03
quelle

Tags und Links