ResolveEventArgs.RequestingAssembly Özellik

Tanım

Bağımlılığı çözümlenen derlemeyi alır.

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

Özellik Değeri

özelliği tarafından Name belirtilen öğeyi istenen derleme.

Açıklamalar

Bu özellik tarafından döndürülen derleme, özellik tarafından Name belirtilen öğeyi çözümleyemeyen bir derlemedir, çünkü öğe bu derlemede, yüklenen bağımlılıklarında veya yükleyicinin yoklama aracılığıyla bulabileceği bağımlılıklarda mevcut değildi.

Örneğin, geçerli derlemenin sınıf CA'sını Assembly.LoadFile kullanmak için A derlemesini yoklama yolunun dışındaki bir dizinden yüklemek için yöntemini kullandığını varsayalım. Sınıf CA'sının B derlemesinde CB sınıfını kullandığını ve A derlemesinin, yoklama yolunun dışında da bulunan B derlemesine derleme zamanı başvurusu olduğunu varsayalım. Geçerli derleme CA örneği oluşturma girişiminde bulunduğunda, yükleyici B derlemesine başvuruyu çözümlemeye çalışır. Ancak, A derlemesi yöntemi kullanılarak yüklendiğinden Assembly.LoadFile , yükleyici bağımlılığı çözümleyemez. Olay için AppDomain.AssemblyResolve bir işleyici varsa, olay oluşturulur ve RequestingAssembly sonuç ResolveEventArgs nesnesinin özelliği A derlemesini içerir, çünkü A derlemesi bağımlılık eksik olan derlemedir.

özelliğin semantiği RequestingAssembly , istekte bulunan derlemenin nasıl yüklendiğine bağlı olarak değişir:

  • Yükleme bağlamı: Özelliğin değeri olabilir null. Yük bağlamı yük sırasına göre bağımsızdır ve istekte bulunan derlemenin kimliği anlamlı olmayabilir. Yöntemi çağrıldığında ve belirtilen tür istekte bulunan derleme veya bağımlılıklarından herhangi biri tarafından bilinmediğinde Type.GetType null olmayan bir örnek oluşur.

  • Yük kaynağı bağlamı: Özelliği bir yoklama ipucu olarak kullanılabilir, ancak olay işleyicisi belirli bir derleme adı için birden fazla istek almamalıdır.

  • Bağlam yok (yani, istekte bulunan derleme yöntemi kullanılarak Assembly.LoadFile veya bayt akışı olarak ya da karma modda yüklendi): İşleyici, istekte bulunan derlemenin kimliğine göre aynı derlemenin farklı uygulamalarını yüklemek için özelliğini kullanabilir RequestingAssembly .

Şunlara uygulanır

Ayrıca bkz.