2009-07-21 15 views
9

o GetType() geçirilen derleme nitelikli adı aslında Dolu DLL sürümü farklı bir Version belirttiğinde bir TypeType.GetType() aracılığıyla almak mümkün mü? Eğer öyleyse, GetType()'un davranışı nedir?Type.GetType geçirilen bir derleme nitelikli adı Versiyon yok sayılması()

Montajın hangi sürümden bağımsız olarak bir montajdan Type almak istiyorum. Ben bağımsız değişken olarak bir derleme nitelikli adını alır bir işlevi vardır:

Type someType = Type.GetType(someName); 

someName değer Almak istediğim Type tekabül ama aynı Version başvurumu yüklü olanla olarak belirtilen olmayabilir .

+0

Bu soru size bir derlemesinden bir türünü almak istemeleri ne anlama geliyor ... yeterince hassas değil, ancak hangi türden hangi montajı almak istediğinizi bilmiyor musunuz? Bu çok mantıklı gelmiyor. Ve "montaj nitelikli isimleri" tüm amacı isim ile isim ve belirteci tanımlamaktır. Lütfen açıklamak için soruyu düzenleyin. – galaktor

cevap

1

Şu anda yüklü olan derleme sürümü, derleme nitelikli adın Version alanındaki değerle eşleşmiyor olsa bile, GetType() öğesinin doğru türünü döndüreceğini test ettim.

+1

Uygulamanız güçlü bir şekilde adlandırılmışsa bu işe yaramaz. – jnm2

+0

Kesinlikle adlandırılmış bir uygulama yok ve bu kesinlikle durum böyle değil. – BrainSlugs83

0

Yapılması için derlemeleri geçerli alandan yansıtmalısınız.

ben bu başarıyla kullandım this thread

2

benim tepkisini kontrol edin:

Type type = Type.GetType(typeName, AssemblyResolver, null); 

private static System.Reflection.Assembly AssemblyResolver(System.Reflection.AssemblyName assemblyName) 
{ 
    assemblyName.Version = null; 
    return System.Reflection.Assembly.Load(assemblyName); 
} 
+0

Doğru cevap budur. - Bu pastırmamı kurtardı. Teşekkürler! :) – BrainSlugs83

İlgili konular