<System kann den angegebenen Verweis nicht finden>

  • VB.NET

Es gibt 29 Antworten in diesem Thema. Der letzte Beitrag () ist von WilliamSpiderWeb.

    <System kann den angegebenen Verweis nicht finden>

    Hallo,

    ich möchte ein Addin für den Autodesk Vault Workgroup 2013 schreiben. Dazu muss ich, nach dem Installieren des Vault SDK, in meinem VB.NET Projekt als erstes ein paar dlls einbinden.
    Menüleiste auf Projekt --> MeinProjekt-Eigenschaften...
    In dem neuen Fenster gehe ich auf den Reiter "Verweise".
    Wenn ich nun die gewünschten Verweise hinzufüge, in diesem Fall die Datei Autodesk.Connectivity.WebServices, erscheint die Datei zwar in der Liste, in der Spalte "Pfad" steht allerdings
    <System kann den agegebenen Verweis nicht finden>
    Lösungsversuche:
    Den Thread

    habe ich bereits gelesen.
    Das Umstellen der Ziel-CPU auf x86 hat bei mir keine Änderung gebracht.

    Mein System:
    DELL Notebook Latitude E6520
    Core i5-2540 @ 2,60GHz
    6GB RAM

    Win7 Pro 64bit SP1
    Visual Studio 2008
    (verwende VB.NET)


    Schonmal Danke,
    und viele Grüße,
    Alex
    Hast Du Dich mal im Explorer davon überzeugt, dass es diese DLL überhaupt gibt?
    Nicht dass da bloß ein Verweis in der Registry steht, obwohl die DLL nicht (mehr) existiert.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ist dies eine .NET-DLL
    oder
    ist dies eine nativ C / C++-DLL?
    Wohl letzteres.
    Dann musst Du die Funktionen wie API-DLL-Funktionen einbinden.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich hab die DLL zwar nicht selbst geschrieben, aber das müsste eine .NET DLL sein.

    Es gibt von Autodesk Beispiel-Projekte (VB.NET Projekte) zum Download. Wenn ich diese öffne, werde ich direkt von Fehlermeldungen erschlagen.
    Schaue ich mir dann die Verweis-Liste an, sind dort die gleichen DLLs, mit denen ich Probleme habe, wieder mit der Meldung "System kann den angegebenen Verweis nicht finden" gelistet.

    Das heißt, die hat Doug Redmond (Softwareentwickler bei Autodesk) genau auf die selbe Weise eingeladen. Und bei ihm hat es wohl funktioniert.

    Ist es möglich, dass bestimmte DLLs nur von VS 2010, aber nicht von VS 2008 oder auf 32bit, aber nicht auf 64bit Systemen geladen werden können?
    Oder gibt es da andere System- oder Entwicklungsumgebungsparameter, die das Thema beeinflussen können?

    Gruß,
    Alex
    Wenn es eine .Net-Dll ist sollte sie eigentlich Problemlos per Verweis hinzufügen nutzbar sein. Standartmäßig wird ein dll (unter VS zumindest) auf AnyCPU kompilliert. Aber unter x64 System sollte auch eine x86 Dll laufen es sei denn dein Programm ist x86 und dll x64 oder andersrum
    @Gonger96: So isses.
    @WilliamSpiderWeb: Du kannst auf jeden Fall mal die CPU-Property verändern, es gibt ja nur 3 Werte.
    Wenn Du noch weitrere Vereise hast, kann es problematisch werden.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Um 32bit oder 64bit musste ich mich bisher noch nie kümmern. Daher sagt mir bitte, wenn ich was falsch mache. :)

    Unter "Menüleiste: Erstellen --> Konfigurations-Manager..." kann ich einstellen, ob mein Projekt als x86 oder x64 Projekt kompiliert werden soll. Aber das hat doch keine Auswirkungen auf mein Problem, oder?
    Auf jeden Fall passiert hier das selbe wie immer.

    Habt Ihr noch ein paar Ideen für mich?
    @WilliamSpiderWeb: Kannst Du vllt. mal diese DLL (als zip) als Dateianhang dranhängen?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @Gonger96: Macht leider keinen Unterschied

    @RodFromGermany:
    Ich habe mal zwei dlls, bei denen das passiert, angehängt.
    Im selben Verzeichnis, in dem die dlls liegen, befinden sich gleichnamige xml-Dateien.
    Ich weiß nicht genau, was die für eine Bewandtnis haben. Liegen aber ebenfalls in der Zip.

    Danke für Eure Mühen.
    Dateien

    WilliamSpiderWeb schrieb:

    Ich habe mal zwei dlls, bei denen das passiert, angehängt.
    x86-Projekt, beide DLLs eingebunden.

    VB.NET-Quellcode

    1. Imports Autodesk
    2. Public Class Form1
    3. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    4. Dim xxx As New Autodesk.Connectivity.WebServices.AccessPermis
    5. MessageBox.Show(xxx.ToString)
    6. End Sub
    7. End Class
    funktioniert, allerdings wird nur Autodesk angeboten.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Jetzt bin ich etwas ratlos.

    1. Ich habe ein neues Projekt erstellt.
    2. Dann CPU auf x86 gestellt (siehe Step1). Dazu in der Spalte "Plattform" Neu... ausgewählt, das neue Fenster so wie im Screenshot gezeigt bestätigt, und dann im oberen Dropdown-menü "x86" ausgewählt.
    3. Jetzt die dll hinzugefügt (siehe Step2)

    In Step3 sieht man, dass das Ergebnis eine nicht geladene dll ist. Folgerichtig finde ich auch keinen namespace "Autodesk"

    EDIT:
    Ich gehe davon aus, dass Ihr auch unter einem 64bit System arbeitet?
    Bilder
    • Step1.png

      96,21 kB, 947×641, 264 mal angesehen
    • Step2.png

      67,09 kB, 630×510, 219 mal angesehen
    • Step3.png

      263,85 kB, 1.925×1.037, 228 mal angesehen
    unten im Projektkontext.. da muss du die Plattform auf x86 stellen. Bei AnyCPU läuft das Programm auf deinem PC x64. Als Test könntst du einen Button auf deine Form platzieren und im Click Event

    VB.NET-Quellcode

    1. MessageBox.Show(Environment.Is64BitProcess.ToString)
    schreiben wenn False kommt ists x86^^
    Meinst Du mit mit Projektkontext die Stelle, die ich in Screen1.png markiert habe? Dort ist x86 erst dann verfügbar, wenn ich es neu erstellt habe.

    Ich hab die Property Is64BitProcess in der MSDN gefunden, aber mein VB scheint sie nicht zu kennen (siehe Screen2.png)
    Bilder
    • Screen1.png

      56,53 kB, 806×581, 209 mal angesehen
    • Screen2.png

      12,58 kB, 458×134, 173 mal angesehen