2010-02-12 15 views
5

Güçlü olmayan adlandırılmış derlemelerin farklı sürümleri vardır ve app.exe.config dosyasında kendilerine bağlanan yönlendirme/tarama yolları yoktur. Örneğin, MyDll (1.0.0.0_null_neutral) ve MyDll (2.0.0.0_null_neutral). App.exe ile ilgili olarak, bu derlemeler LAC \ MyDll_1.0.0.0_null_neutral ve LAC \ MyDll_2.0.0.0_null_neutral klasörlerinde saklanır..NET Çalışma Zamanı Güçlü Olmayan Adlandırılmış Gruplar Nasıl Bulunur?

Benim anlayış MyDLL meclisleri kesin adlandırılmış olmadığından, .NET çalışma zamanı MyDLL farklı sürümleri arasında ayrım yapmaz olmasıdır. Bu nedenle, MyDll 1.0.0.0 zaten belleğe yüklüyse ve MyDll 2.0.0.0'a karşı oluşturulmuş bazı kod yürütüldüyse, .NET çalışma zamanı MyDll 2.0.0.0'ı yüklemez. Ben VS2008 ile sürecine bağlı ve modüller penceresini bakıldığında

Ancak, ben hem MyDLL 1.0.0.0 ve 2.0.0.0 MyDLL LAC klasöründen yüklenen fark ettim.

Bir yerdeki anlayışımda bir boşluk var gibi görünüyor. Birisi bunu işaret edebilir mi?

DÜZENLEME: Şimdiye kadar yanıtları teşekkürler. Evet, o bitin üzerinden geçtim. Yürütülebilir, AssemblyResolve olayını dinler ve bunu LAC'ye bakarak işleyebilir.

Bunun bir montaj kesin adlandırılmış olmadıkça versiyonları yok sayılır dedi önce biraz MSDN belgelerine gördü emindim. Ben kazabilir miyim göreceğim.

+3

Açıkladığınız şekilde çalışamaz. CLR'nin, problama yolunu değiştirmeden LAC alt dizininde bir DLL bulmasının bir yolu yoktur. –

+0

Amacınız, burada aynı görünen iki farklı montaj sürümüne sahip olmak nedir? En son uygulamanız için çalışmayı yükleyemiyor musunuz? –

+0

2 farklı sürüm vardır çünkü uygulama, farklı ekipler tarafından yazılan farklı eklentilerden oluşur; bunların her biri, montajın farklı bir sürümünü kullanabilir. Genellikle, en yeni sürümü bir tarama yolu/ciltleme yönlendirmesiyle kullanırız. Ancak sadece CLR'nin güçlü olmayan adlandırılmış toplantılar için sürüm oluşturmayı göz ardı edip etmediğini bilmek istedim. –

cevap

1

http://msdn.microsoft.com/en-us/library/yx7xezcf.aspx

Adım 2 de yüklenmiş olup olmadığını görmek için kontrol ediyor ve bu hatta kesin adlandırılmış olmayan öğeleri ile, sürüm özeldir.

Adım 4 sondalama yoluyla montaj yüklemeye çalışıyor ve bu sürüm özgü değildir.

Ne ben size yapılandırma dosyasında herhangi bir bilgi yoksa nasıl ilk etapta DLL buluyor, yaklaşık karıştı? Anlayışımda da bir boşluk olduğunu düşünüyorum :-).

İlgili konular