Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 50236|Antwort: 3

[Quelle] C# legt Referenzbibliotheks-DLLs per Probing in Unterordner

[Link kopieren]
Veröffentlicht am 10.11.2020, 17:46:35 | | | |
Verlangen:

Es gibt drei Arten von DLLs im Projekt: zu viele und chaotisch. Wie man sie unter drei Unterverzeichnisse ordnet
Zum Beispiel:
Dev ist im Verzeichnis Devexpress platziert
Platziere dein Referenzbibliotheksprojekt im Verzeichnis Lib
Drittanbieter-DLLs werden im Verzeichnis Oth platziert

Wenn wir an einem großen Projekt arbeiten, stellen wir fest, dass viele DLLs vom Projekt referenziert werden, und ich möchte verschiedene DLLs je nach Funktion in verschiedene Ordner packen.

Beispiel:

Wir net2 ist ein Konsolenprojekt, es verweist auf die ClassLibrary4-Klassenbibliothek, die kompilierte Anwendung und die DLL befinden sich im selben Verzeichnis, ich möchte ClassLibrary4.dll unter den Testordner im Programmverzeichnis legen, wir legen es direkt hinein, es wird eine Ausnahme angezeigt:

Unbehandelte Ausnahme: System.IO.FileNotFoundException: Es konnte keine Datei oder eine Assemble "ClassLibrary4, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" oder eine ihrer Abhängigkeiten geladen werden. Das System kann die angegebene Datei nicht finden.
   In Net2. Program.Main(String[] args)

Lösung

Bearbeite die Datei net2.exe.config und füge die Sondierungseinstellungen wie folgt hinzu:

Wenn zwei verschiedene DLLs in zwei verschiedene Ordner gelegt werden müssen, dann darinVerwenden Sie Semikolons, um verschiedene Ordner anzuzeigenZum Beispiel:


ClassLibrary4-Code:

NET2-Code:


Versuchen Sie, das Programm wie unten gezeigt auszuführen:


Bemerkung:Man kann ein Bat-Skript schreiben und die Bibliotheks-DLL in ein Unterverzeichnis nach der Erstellung der Assembler legen

(Ende)






Vorhergehend:Seien Sie vorsichtig bei System.Environment.CurrentDirectory, um das aktuelle Verzeichnis zu erhalten
Nächster:. .NET MySQL Connector Conflicts DbProviderFactories (.NET MySQL Connector Conflicts DbP...
 Vermieter| Veröffentlicht am 10.11.2020, 18:18:44 |
Wenn die C++-dll im Programmunterverzeichnis platziert wird, kann sie durch Hinzufügen von Umweltvariablen gesetzt werden

Zum Beispiel:

Leg die dll unter das Testverzeichnis



Veröffentlicht am 16.07.2021, 22:42:52 |
Gelehrt......
Veröffentlicht am 25.2.2023, 21:18:42 |
Ich hoffe wirklich, dass das genau das ist, wonach ich suche
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com