hr = CorBindToRuntimeEx(
0, // version, use default
0, // flavor, use default
0, // domain-neutral"ness" and gc settings
CLSID_CorRuntimeHost,
IID_ICorRuntimeHost,
(PVOID*) &m_pHost);
ve makinelerin büyük çoğunluğundan Kuruluşumuzda (birkaç yüz) bu, çok sayıda CLR sürümleri yüklü olanlar bile mükemmel çalışır; Ancak, birkaç makinede, CLR'nin yanlış (eski) bir sürümü başlatılır ve ardından .NET 2 çalışma zamanı gerektirdiği için derleme yüklemesi başarısız olur. Ben Process Explorer koştu ve bu sorunun makinelerden birinde şu gösteren oldukça açıklayıcı oldu ilk defa
Dün: Excel çalışma zamanı yanlış sürümü bile daha yeni bir olsa yüklendikten yani
process pid type Handle or DLL
------- --- ---- -------------
procexp.exe 5056 DLL c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorworks.dll
EXCEL.EXE 7180 DLL c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\mscorworks.dll
kullanılabilir. Şimdi nedenini bulmalıyım.
akla gelen birkaç ihtimal:
belirli makinedeki CLR örnekleme ait 'öncelikli' ile tuhaf bir şey yoktur- hatta MS docs (gerçi http://msdn.microsoft.com /en-us/library/ms231419.aspx), belirli bir sürümü istemediğiniz sürece her zaman en yeniyi alacağınızı gösterir.
- Excel'de başka bir eklenti zaten (kasıtlı olarak) bir .NET 1 CLR başlattı ve Excel birden fazla barındıramaz.
şiddetle bu ikincisini şüpheli ama/kanıtlamak nasıl düzeltebilirim bilmiyorum.
Benzer davranışlar gören oldu mu? Neler olduğu hakkında herhangi bir öneriniz var mı?
Birkaç diğer notlar:
- Tüm iş istasyonları
- Excel 2003 SP3
Ben birini değiştiremezsiniz organizasyonumuzda Excel'in tek sürümüdür Windows XP SP3 çalıştıran Bu yüzden daha yeni bir Excel sürümü bir seçenek değildir.
Bu sorun şu şekilde görünebilir: http://support.microsoft.com/kb/948461 belki de söz konusu makinenin VSTO'nun eski bir sürümü vardır. Bu sorun olup olmadığını tespit etmeye çalışacağım. –
Makinenin * doğru * VSTO'nun kurulduğunu görüyoruz, bu da sorun değil. Dolayısıyla, bu durumun Excel'in eklentileri, yani önceden yüklenmiş bazı eklenti isteklerini v1 CLR'yi başlattığı sıraya göre gitme olasılığı daha yüksek görünmektedir. –