DLL - Was muss alles mit

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Westerwälder.

    DLL - Was muss alles mit

    Guten Abend zusammen.
    Habe mir letzte Woche einen neuen Rechner zugelegt. Da dieser über ein SSD-Laufwerk verfügt, habe ich nicht alles vom alten Rechner kopiert.

    Habe eine selbst geschriebene DLL, welche ich in drei Anwendungen importiert habe.
    Folgende Dateien sind im Arbeitsverzeichnis: .dll, .pdp und .XML

    Nach einem Fehler in der eigentlich DLL erhielt ich den Hinweis, dass auf das Entwicklungsverzeichnis nicht zugegriffen werden kann.
    Logisch, ist auf der SSD ja nicht vorhanden.
    Wie umgeht man so etwas?
    Gruß Markus
    @Westerwälder Wie hast Du denn in diesen Projekten auf die DLL verwiesen?
    Über einen fernen Verweis in einem (nun nicht meht existierenden) Verzeichnis?
    Füge die DLL jedem Projekt einzeln hinzu.
    Du kanst auch ein fernes DLL-Projekt Deiner Projektmappe als Verweis hinzufügen.
    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!

    Westerwälder schrieb:

    Woher weis die Anwendung den Ursprung der DLL?
    Nur, wenn Du sie auf das ferne Verzeichnis verweist.
    Braucht diese DLL weitere DLLs?
    Poste mal die genaus Fehlermeldung.
    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!
    Wenn Du in Deinen Projekteigenschaften einen DLL-Verweis reinhaust, dann gibt es 2 Varianten: die DLL ist in einem festen Verzeichnis. Das zeigt sich dadurch, dass Du im Eigenschaftenfenster für die DLL den Wert "Lokale Kopie" auf False hast. Das ist wohl v.a. für System- und Framework-DLLs der Fall (ungetestet, aber naheliegend). Bei eigenen DLLs wird "Lokale Kopie" auf True gesetzt. Das führt dazu, dass der Compiler die DLL auch ins Ausgabeverzeichnis kopiert, aber erstmal den Originalpfad beibehält. Sollte der aber nicht mehr gültig sein, wird automatisch auf die DLL im Ausgabeverzeichnis verwiesen, bis der Pfad wieder manuell geändert wird.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Ok, aber warum funktioniert es, wenn kein Fehler auftritt?
    Es gibt so viele Sachen wo man einfach die Lust verliert.
    Auf dem alten Rechner wird wie folgt das Mikro deaktiviert:

    VB.NET-Quellcode

    1. 'Hardware.NirCmd.Ausfuehren("mutesysvolume 1 Mikrofon")
    2. 'If Not SettingSeite Is Nothing Then
    3. ' If SettingSeite.Visible Then SettingSeite.CheckBox_Mikrofon.Checked = False
    4. 'End If
    5. 'Aktiv = False


    Der neue Rechner schaltet damit die komplette Soundkarte ab, stumm
    Irgendwann hört der Spass an dem ganzen auf.
    Gruß Markus