Projemin bir parçası olan çeşitli sınıf kitaplıklarını kullanan bir projem var, önce AssemblyA yüklenir, sonra AssemblyB yüklenir.derleme yükünü geçerli etki alanına zorlamak için doğru bir yol
var x = typeof(AssemblyB.AssemblyB_Type);
: AssemblyA yılında AssemblyB yüzden şu gereksiz şey yapıyorum derleme yükleme, currentDomain içine henüz yüklü değil, AssemblyA bunu çalıştığında aşağıdaki
var assemblies = AppDomain.CurrentDomain.GetAssemblies();
var assemblyB = assemblies
.Where(x=>x.GetName() == "AssemblyB")
.First();
var type = assemblyB.GetType("AssemblyB_Type");
Maalesef yapan kod vardır
Derleyici, bu satırın gerekli olmadığına dair uyarı gösteriyor, aksi halde işe yaramayacağını anlatacak kelimeler bulamıyorum, bu yüzden soru şu olurdu: (Feng Shui terimleriyle) doğru şekilde nasıl doğrularsınız? Ekstra-sıhhi tesisat tesisatı yapmadan CurrentDomain içine yükleme
sadece Assembly.load() kullanın. Veya CLR'nin derlemeyi otomatik olarak yüklemesini sağlamak için var type = typeof (NamespaceNameInAssemblyB.AssemblyB_Type) kullanın. –
Sanırım biraz kafam karıştı. Eğer typeof (AssemblyB.AssemblyB_Type) yapabiliyorsanız, neden assemblyB.GetType ("AssemblyB_Type") yapmalısınız? –
Üçüncü taraf bir JInt kitaplığı var (JavaScript yorumlayıcısı). JavaScript kaynağından CLR türlerinin bağlanmasına izin verir. İlk önce AppDomain.CurrentDomain.GetAssemblies() kullanır ve sonra bu derleme uygun derlemeyi bulmaya çalışır, eğer derlemem C# koduna dokunmadıysa, CurrentDomain'e yüklenmez ve JavaScript'den erişilemez ... – Lu4