ResolveEventArgs.RequestingAssembly 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得解析其相依性的組件。
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
屬性值
要求 Name 屬性所指定之項目的組件。
備註
此屬性所傳回的元件是無法解析屬性所 Name 指定專案的元件,因為該專案不存在於該元件、任何載入的相依性中,或是載入器可透過探查找到的任何相依性。
例如,假設目前的元件使用 Assembly.LoadFile 方法,從探查路徑外部的目錄載入元件 A,以便使用類別 CA。 假設類別 CA 在元件 B 中使用類別 CB,而且該元件 A 具有元件 B 的編譯時期參考,也位於探查路徑之外。 當目前的元件嘗試具現化 CA 時,載入器會嘗試解析元件 B 的參考。不過,因為元件 A 是使用 Assembly.LoadFile 方法載入,所以載入器無法解析相依性。 如果事件有處理常式 AppDomain.AssemblyResolve ,就會引發 事件,而 RequestingAssembly 產生的 ResolveEventArgs 物件的 屬性包含元件 A,因為元件 A 是遺漏相依性元件。
屬性的 RequestingAssembly 語意會根據要求的元件載入方式而有所不同:
載入內容:屬性的值可能是
null
。 載入內容與載入順序無關,而且要求元件的身分識別不一定有意義。 呼叫 方法且指定的型別不知道要求元件或其任何相依性時 Type.GetType ,就會發生非 Null 範例。從內容載入:屬性可以當做探查提示使用,但事件處理常式不應該取得指定元件名稱的多個要求。
沒有內容 (也就是說,要求元件是使用 Assembly.LoadFile 方法載入,或是以位元組資料流程的形式載入,或是以混合模式) :處理常式可以使用 RequestingAssembly 屬性,根據要求元件的身分識別載入相同元件的不同實作。