2011-07-26 16 views
6

Mam aplikację .NET, którą chcę przeszukać w innych ścieżkach dla zależnych bibliotek DLL oprócz standardowego GAC, bieżącego katalogu, obszarów PATH. Czy można powiedzieć aplikacji, aby to zrobiła?Jak dodać ścieżkę do kolejki wyszukiwania w katalogu DLL

E.g.

Poinformuj aplikację, aby zajrzała do "[Ścieżka do pliku wykonywalnego] \ Dependent DLL".

+1

nie podajesz wystarczających informacji ... czy aplikacja ładuje zależne biblioteki DLL dynamicznie - przez Assembly.LoadFrom? – Yahia

+0

Ładowanie ładunków za pomocą XamlXmlReader i ActivityXamlServices.Load. Oddzielne biblioteki DLL będą dynamiczne w oparciu o załadowany plik XAML. –

Odpowiedz

6

Możesz dodać prywatną ścieżkę wyszukiwania złożenia, używając elementu <probing> w pliku .config.

2

Alternatywne podejście do ustawiania sondowania w konfiguracji (jeśli potrzebujesz większej elastyczności) - jest to, że możesz dodać swój własny przewodnik do wyszukiwania w innych lokalizacjach i załadować je samodzielnie.

W głównym sposobem, który uruchamia aplikację

AppDomain.CurrentDomain.AssemblyResolve += CurrentDomainAssemblyResolve; 

dodanie obsługi z własnego sposobu brał imienia i szukać innych lokalizacji -

private static Assembly CurrentDomainAssemblyResolve(object setnder, ResolveEventArgs args) 
{ 
    return LoadEmbeddedAssembly(args.Name); 
} 

użyć tej metody, aby osadzić dll jako zasoby, więc mogę mieć jeden plik wykonywalny do dystrybucji, ale możesz również załadować je z katalogu.

Powiązane problemy