Szukam sposobu na znalezienie domyślnego app domain w moim procesie. Uwaga: obecna domena aplikacji może różnić się od domyślnej, na przykład, gdy mój kod jest uruchomiony wewnątrz NUnit
.Uzyskiwanie dostępu do domyślnej domeny aplikacji
Wiem, że mogę wymienić wszystkie domeny aplikacji w procesie przy użyciu a COM interop trick shown in this answer i wybrać tę, dla której IsDefaultAppDomain()
jest true
. Jednak wydaje się to być rozwiązaniem ciężkim.
Czy można uzyskać domyślne appdomain, które nie wymaga filtrowania wszystkich domen, najlepiej bez interakcji COM?
Użyliśmy powyższej sztuczki COM Interop; Zastanawiam się jednak, czy możliwe jest przechowywanie domyślnej domeny aplikacji jako punktu odniesienia w momencie uruchamiania aplikacji (powiedzmy w "Main") i po prostu to sprawdzić? – dash
Tak, można utworzyć zespół neutralny dla domeny, aw tym zestawie można zapisać odniesienie do domyślnej wartości AppDomain (w niektórych statycznych właściwościach). –
@ M.A.Hanin Czy mógłbyś zilustrować to podejście, a może dodać odpowiedź, która pokazuje, jak to zrobić? Dzięki! – dasblinkenlight