Udostępnij za pośrednictwem


ResolveEventArgs.RequestingAssembly Właściwość

Definicja

Pobiera zestaw, którego zależność jest rozpoznawana.

public:
 property System::Reflection::Assembly ^ RequestingAssembly { System::Reflection::Assembly ^ get(); };
public System.Reflection.Assembly? RequestingAssembly { get; }
public System.Reflection.Assembly RequestingAssembly { get; }
member this.RequestingAssembly : System.Reflection.Assembly
Public ReadOnly Property RequestingAssembly As Assembly

Wartość właściwości

Zestaw, który zażądał elementu określonego Name przez właściwość .

Uwagi

Zestaw zwracany przez tę właściwość jest zestawem, który nie mógł rozpoznać elementu określonego Name przez właściwość, ponieważ element nie istnieje w tym zestawie, w żadnym z załadowanych zależności lub w żadnych zależnościach moduł ładujący może znaleźć przez sondowanie.

Załóżmy na przykład, że bieżący zestaw używa Assembly.LoadFile metody , aby załadować zestaw A z katalogu spoza ścieżki sondowania, aby użyć urzędu certyfikacji klasy. Załóżmy, że urząd certyfikacji klasy używa klasy CB w zestawie B i że zestaw A ma odwołanie w czasie kompilacji do zestawu B, które również znajduje się poza ścieżką sondowania. Gdy bieżący zestaw próbuje utworzyć wystąpienie urzędu certyfikacji, moduł ładujący próbuje rozpoznać odwołanie do zestawu B. Jednak ponieważ zestaw A został załadowany przy użyciu metody , moduł ładujący Assembly.LoadFile nie może rozpoznać zależności. Jeśli istnieje procedura obsługi zdarzenia AppDomain.AssemblyResolve , zdarzenie jest wywoływane, a RequestingAssembly właściwość wynikowego ResolveEventArgs obiektu zawiera zestaw A, ponieważ zestaw A jest zestawem, który nie ma zależności.

Semantyka RequestingAssembly właściwości różni się w zależności od sposobu załadowania zestawu żądającego:

  • Kontekst ładowania: wartość właściwości może mieć wartość null. Kontekst ładowania jest niezależny od kolejności ładowania, a tożsamość żądanego zestawu nie musi być znacząca. Przykład inny niż null występuje, gdy Type.GetType metoda jest wywoływana, a określony typ nie jest znany żądającemu zestawowi ani żadnej z jego zależności.

  • Ładowanie z kontekstu: właściwość może służyć jako wskazówka sondowania, ale program obsługi zdarzeń nie powinien pobierać więcej niż jednego żądania dla danej nazwy zestawu.

  • Brak kontekstu (oznacza to, że zestaw żądający został załadowany przy użyciu Assembly.LoadFile metody lub jako strumień bajtów lub w trybie mieszanym): program obsługi może użyć RequestingAssembly właściwości do załadowania różnych implementacji tego samego zestawu na podstawie tożsamości zestawu żądającego.

Dotyczy

Zobacz też