INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

.NET 4.0 dll wird nicht gefunden



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

15.06.2012, 15:52
Beitrag #1

TheBoss Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Jun 2012

11.0
2010
DE



Bug .NET 4.0 dll wird nicht gefunden
Hallo Zusammen

es geht prinzipell um einen 2d Code Scanner von Motorola (MS4407).

Leider lässt sich dieser von Werk aus nur über ein Windows Messager Service ansprechen. Da dies mit Labview echt kein Spaß ist habe ich mir eine VCS .NET 4 dll erstellt. Diese erledigt eigentlich alles für mich ... Form/Fenster öffnen, Windows messeaging aktivieren und auf Fenster richten, Grundkonfiguration an Scanner senden, Daten austauschen die im Speicherbereich der From liegen.

In einem Beispiel das ich in Labview geschrieben habe und auf der Dev Oberfläche ausführe funktioniert alles wunderbar.
Erstelle ich nun mit dem Builder eine Exe aus der Programm und starte es. Bekomme ich die Warnung das die Datei (MS4407.dll) nicht gefunden wurde. Ich solle auch bitte danach suchen.
Wenn ich in meinem Data Ordner suche finde ich sie auch promt und wähle sie aus. Dann bekomme ich folgenden Fehler -> Anhang LV_Fehler_Scanner_1.jpg

Egal aus welchem Verzeichnis (z.b. C:\MS4407.dll) oder im Data Ordner kann diese Datei nicht gefunden werden.
Bennen ich die Datei um ... bewirkt das auch nichts.

An was kann das liegen? Ich habe den EXEen Aufbau schon aug LV 8.XX gestellt um einen Strukturfehler auszuschließen. Was läuft falsch? Bzw was mache ich falsch?

Viele Grüß
Euer BOSS! 2hands


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
15.06.2012, 16:26 (Dieser Beitrag wurde zuletzt bearbeitet: 15.06.2012 16:29 von rolfk.)
Beitrag #2

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: .NET 4.0 dll wird nicht gefunden

Akzeptierte Lösung

(15.06.2012 15:52 )TheBoss schrieb:  Hallo Zusammen

es geht prinzipell um einen 2d Code Scanner von Motorola (MS4407).

Leider lässt sich dieser von Werk aus nur über ein Windows Messager Service ansprechen. Da dies mit Labview echt kein Spaß ist habe ich mir eine VCS .NET 4 dll erstellt. Diese erledigt eigentlich alles für mich ... Form/Fenster öffnen, Windows messeaging aktivieren und auf Fenster richten, Grundkonfiguration an Scanner senden, Daten austauschen die im Speicherbereich der From liegen.

In einem Beispiel das ich in Labview geschrieben habe und auf der Dev Oberfläche ausführe funktioniert alles wunderbar.
Erstelle ich nun mit dem Builder eine Exe aus der Programm und starte es. Bekomme ich die Warnung das die Datei (MS4407.dll) nicht gefunden wurde. Ich solle auch bitte danach suchen.
Wenn ich in meinem Data Ordner suche finde ich sie auch promt und wähle sie aus. Dann bekomme ich folgenden Fehler -> Anhang LV_Fehler_Scanner_1.jpg

Egal aus welchem Verzeichnis (z.b. C:\MS4407.dll) oder im Data Ordner kann diese Datei nicht gefunden werden.
Bennen ich die Datei um ... bewirkt das auch nichts.

An was kann das liegen? Ich habe den EXEen Aufbau schon aug LV 8.XX gestellt um einen Strukturfehler auszuschließen. Was läuft falsch? Bzw was mache ich falsch?

Viele Grüß
Euer BOSS! 2hands

Zwei Dinge fallen mir ein:

Bist Du sicher LabVIEW unterstützt .Net 4.0 voll oder hast Du den Manifest Hack gemacht den man auf der NI Seite finden kann? Wenn Du für LabVIEW diesen Hack gemacht hast wirst Du das auch angepasst für Dein Executable tun müssen. Windows weiss schliesslich nicht dass Deine App von LabVIEW kommt, und dass es magisch den LabVIEW manifest Hack verwenden soll.

Wenn das nicht das Problem ist dann hat es mit der DLL Suchfolge zu tun die Windwos verwendet beim Laden einer DLL. Der Data Folder funktioniert nur für DLLs die Du auch wirklich mit der LabVIEW Call Library Node in Deine Applikation einbindest. LabVIEW merkt sich den Pfad dieser DLL im VI und lädt ihn auch entsprechend. Deine famose .Net DLL ist nicht so schlau sondern bemüht ganz einfach Windows um die DLL zu finden und Windows sucht nur in folgenden Verzeichnissen:

1) Bereits im Speicher geladen mit dem entsprechenden DLL Namen
2) Im Verzeichnis wo das aktuelle Executable liegt, also dort wo Dein myapp.exe ist, nicht im Data Unterverzeichnis darin.
3) Im System directory
4) Im Windows directory
5) Alle Directories die in der PATH Umgebungsvariable aufgeführt sind

Ansonsten sucht Windows nirgends, nada, niente.

Und ich akzeptiere keinen anderen Boss, ich habe schon einen zuhause. Cool

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.06.2012, 16:38
Beitrag #3

TheBoss Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Jun 2012

11.0
2010
DE



RE: .NET 4.0 dll wird nicht gefunden
Zitat: Bist Du sicher LabVIEW unterstützt .Net 4.0 voll oder hast Du den Manifest Hack gemacht den man auf der NI Seite finden kann? Wenn Du für LabVIEW diesen Hack gemacht hast wirst Du das auch angepasst für Dein Executable tun müssen. Windows weiss schliesslich nicht dass Deine App von LabVIEW kommt, und dass es magisch den LabVIEW manifest Hack verwenden soll.

Das war die Lösung. Schade das Labview nicht von alleine ein Unterstützung von NET 4 mitbringt. Durch den SP hätte ich mir das schon gewünscht.

Zum zweiten Hinweis. Klar sucht windows in den Paths ... jedoch will labview die dll haben. Windows hat rein garnichts damit zu tun beim laden.

Also vielen Dank ! War jetzt einfach der anstoß nach dem richtigen Keyword bei NI zu suchen! App läuft!

P.s.: Meine famose dll ermöglicht zumindest das einscannen von codes in labview Wink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.06.2012, 17:42
Beitrag #4

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: .NET 4.0 dll wird nicht gefunden
(15.06.2012 16:38 )TheBoss schrieb:  Das war die Lösung. Schade das Labview nicht von alleine ein Unterstützung von NET 4 mitbringt. Durch den SP hätte ich mir das schon gewünscht.

Das ist ganau so gut das Problem von Microsoft als von NI. Um jeden Furz von MS folgen zu müssen ist kein Honigschlecken.

Zitat:Zum zweiten Hinweis. Klar sucht windows in den Paths ... jedoch will labview die dll haben. Windows hat rein garnichts damit zu tun beim laden.

Deine Erklärung war insofern undeutlich ob die MS4407.dll jetzt Deine .Net DLL war, oder die DLL vom Hersteller die Du mit Deinem Wrapper einbindest. Wenn es die .Net DLL ist dann weiss LabVIEW tatsächlich wo es sie finden soll. Wenn es aber die Hersteller DLL ist die Du mit Deinem .Net Wrapper einbindest hat LabVIEW rein gar nichts zu tun mit dem Laden dieser DLL.

Zitat:P.s.: Meine famose dll ermöglicht zumindest das einscannen von codes in labview Wink

Das war zwar etwas ironisch ausgedrückt, aber ich wollte Dir nicht damit auf die Füsse treten. Persönlich würde ich aber lieber in Assembler programmieren dann eine .Net Lösung in Betracht zu ziehen. Ph34r

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Dll wird nicht gefunden alan 2 3.837 17.08.2021 01:25
Letzter Beitrag: rolfk
  DLLs kopieren/Bibliothek nicht gefunden ares2013 4 5.516 26.11.2020 17:06
Letzter Beitrag: rolfk
  Ftd2xx.dll - Treiber wird erst nach Geräteanschluss gefunden 83DM 3 13.647 08.08.2016 10:27
Letzter Beitrag: rolfk
  dll .Net4.0 Klasse wird nicht gefunden Programmierknecht 4 6.915 21.06.2013 13:19
Letzter Beitrag: Programmierknecht
  DLLRegisterServer Eingangspunkt nicht gefunden ede84 6 31.887 08.01.2012 09:45
Letzter Beitrag: rolfk
  INT32 wird nicht erkannt Curtis Newton 1 4.936 25.11.2011 10:43
Letzter Beitrag: rolfk

Gehe zu: