Ładowanie bibliotek z zewnętrnego katalogu

0

Czy mieliście kiedyś tak, że pisaliście sobie aplikację desktopową, i w katalogu "Bin" tworzył wam się "mikroburdel" z milionem bibliotek DLL? Czy istnieje jakiś wmiarę prosty sposób na przeniesienie tychże do jakiegoś innego katalogu wewnątrz katalogu aplikacji, dajmy na to "Lib"?

0

Prawdopodobnie coś takiego: https://stackoverflow.com/questions/1373100/how-to-add-folder-to-assembly-search-path-at-runtime-in-net

Możesz też zawsze skorzystać z ILMerge i wyprodukować pojedynczy plik EXE, który będzie zawierał wszystkie biblioteki jeżeli ci to przeszkadza.

0

Niespecjalnie interesuje mnie, co się dzieje w bin, więc tam nie zaglądam. W jakim celu chcesz tam cokolwiek przenosić gdzieś indziej?

0

Chodzi po prostu o to, że jeżeli wydaję aplikację jako portable, to nie chcę aby ludzie musieli przeklikiwać się przez wiele plików, po drugie... lubię pożądek.

0
  1. Można wczytywać bibliotekę dynamicznie podając ścieżkę i potem ją zwalniać.
  2. Możesz umieścić skrót do aplikacji na pulpicie
  3. Możesz zrobić skrypt uruchamiający aplikację która znajduje się w innym folderze razem z bibliotekami. Potencjalny użytkownik widzi tylko folder z bibliotekami i skrypt
  4. Możesz swoje dllki umieszczać w C://Windows
0

Myślałem, że dynamicznie mogę ładować tylko biblioteki niezarządzane. Jak ma się sprawa z normalnymi bibliotekami .NET?

0

Klasa Assembly posiada metody do ładowania bibliotek.

0

Assembly.LoadFile() i już.

Ale najlepiej to skrzyżować z eventem AppDomain.AssemblyResolve dla lokalnej AppDomain, aby automatycznie ładować zależności.

1 użytkowników online, w tym zalogowanych: 0, gości: 1