Laden...

falscher pfad zur dll

Erstellt von Afrokalypse vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.360 Views
A
Afrokalypse Themenstarter:in
452 Beiträge seit 2005
vor 15 Jahren
falscher pfad zur dll

hallo zusammen.

ich habe eine dll die ich mittels 'verweis hinzufügen' in ein projekt von mir hinzugefügt habe. diese funktioniert bei mir auf dem pc, wo das projekt erstellt wurde, auch wunderbar.

wenn ich das erstellte release (die dll befindet sich im ordner release) nun von einem fremden pc starten will, findet dieser die dll nicht. beim debuggen ist mir aufgefallen, dass versucht wird, die dll im projektpfad zu finden aber nicht im verzeichnis, wo die anwendung gestartet wird...

wie kann ich das ändern, dass die dll an richtiger stelle gesucht wird?
dank im voraus
afr0

Signatur:
Die Signatur wird unter Ihren Beiträgen dargestellt.

😁 😮 ?( 8) 😭 8o :] 🙁 =) X( 🙂 😜 😉 :rolleyes: 👶 :evil: 👅
Smilies find ich doof =]

A
Afrokalypse Themenstarter:in
452 Beiträge seit 2005
vor 15 Jahren

guten morgen,
ich habe gestern noch mal nach ähnlichen themen gegooglet dabei bin ich auf eine ähnliche frage gestoßen und dort hieß es, dass man dll's ins debug verzeichnis packen soll. das hat mir aber auch nicht geholfen.

kann es vielleicht an der dll liegen?
ich stehe hier wirklich auf dem schlauch... X(

gruß
afr0

Signatur:
Die Signatur wird unter Ihren Beiträgen dargestellt.

😁 😮 ?( 8) 😭 8o :] 🙁 =) X( 🙂 😜 😉 :rolleyes: 👶 :evil: 👅
Smilies find ich doof =]

2.187 Beiträge seit 2005
vor 15 Jahren

Hallo Afrokalypse,

A) .Net-Dll oder Com-Dll?
B) Wie hast du herraus bekommen, das er im falschen Pfad sucht?
C) Startest du die Anwendung über ein Netzlaufwerk?

Gruß
Juy Juka

A
Afrokalypse Themenstarter:in
452 Beiträge seit 2005
vor 15 Jahren

Hi Juka,
A) Externe DLL (ich denke mal eine .NET DLL)
B) hab auf nem fremden pc mit entwicklungsumgebung getestet und als fehlermeldung filenotfoundexception auf die dll bekommen
c) nein

ich habe gerade den tipp bekommen, dass es am registrieren der dll liegen kann.
ich registriere die dll jetzt mal auf dem fremd pc und werde mich dann noch mal melden 😃

Signatur:
Die Signatur wird unter Ihren Beiträgen dargestellt.

😁 😮 ?( 8) 😭 8o :] 🙁 =) X( 🙂 😜 😉 :rolleyes: 👶 :evil: 👅
Smilies find ich doof =]

2.187 Beiträge seit 2005
vor 15 Jahren

Hallo Afrokalypse,

A) Extern sind alle *.dll, das ist ja der Sinn dahinter. Ob es .Net ist oder nicht, kannst du mit dem Reflector heraus bekommen. (Große rote Meldung, wenn's nicht .Net ist)
B) FileNotFound schmeist er in 90% der fälle. Egal wo er sucht. Das sagt leider garnichts aus.
C) gut.

Aber erst mal A beantworten.

Gruß
Juy Juka

3.971 Beiträge seit 2006
vor 15 Jahren

.NET Dlls können nicht registriert werden. NET Dlls können allerdings im GAC (Global Assembly Cache) installiert werden, wo die CLR (Common Language Runtime) die entsprechende Dll sucht (vor der Suche im Anwendungsverzeichnis).

Nur COM-Dll lassen sich registrieren (regsvr32). Werden COM-Bibliotheken in .NET Assemblies verwendet, sollten die COM-Dlls registriert werden, damit diese von der CLR entsprechend gefunden werden können.

Wichtig bei .NET Verweisen ist, dass der vollqualifizierende Name der Assembly passen muss. Beim Laden einer Assembly prüft die CLR ob die folgenden Dingen übereinstimmen:*Assemblyname (nicht Dateiname!) *AssemblyVersion *Sprache (neutral, de-DE, en-US, usw.) *PublicToken (keiner, oder sn-Signatur)

Hat dein Freund beispielsweise eine neuere Version der Assembly installiert, wird die Assembly beispielsweise nicht gefunden, weil die Versionsnummer nicht übereinstimmt.

Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...

A
Afrokalypse Themenstarter:in
452 Beiträge seit 2005
vor 15 Jahren

danke für die antworten.

das problem hat sich nun gelöst. die dll benötigt abhängigkeiten des zu der dll gehörenden programms 😃
es ist ne .net dll deshalb konnte ich diese auch nicht registrieren.

gruß
afr0

Signatur:
Die Signatur wird unter Ihren Beiträgen dargestellt.

😁 😮 ?( 8) 😭 8o :] 🙁 =) X( 🙂 😜 😉 :rolleyes: 👶 :evil: 👅
Smilies find ich doof =]