Bu yazı biraz geri olduğunu biliyorum ama yine de benim iki sent atmak düşündüm durumda birisi stumbles. Başparmak
genel bir kural, desteklemeyi planlıyoruz Office eski sürümü ile bağlantılar gelişme yılında PIA sürümünü kullanmaktır. Bu nedenle, Office 2007 ve yukarısını destekleyecekseniz, geliştirme sırasında PIA'lerin 12 sürümünü kullanın.
v12 PIA'lara bir başvuru ekleyin (2007 PIA'lerini çevrimiçi olarak, VSTO aracılığıyla veya daha önce Office 2007'ye sahip olmanız durumunda GAC'den yükleyerek). Şimdi "Tamam, Visual Studio'da v12'ye başvuruyorum, şimdi bunun Office 2007'de çalışması gerektiğini" düşünebilirsiniz. Yanlış. Eğer v12 baþvurduðunuzu ancak Office 2010 montaj diyecekler makinenizi bağlama sırasında, yüklü "Eh, v12 istenir, ama biz GAC yüklü V14 ve PIA ileriye uyumlu olduğundan, biz bunu kullanırız" beri. Açık bir şekilde v12 kullanmasını söylemesine rağmen, bir kurulumun tamamlanmasından sonra makineniz v14 kullanacaktır. Bunu FUSLOG aracılığıyla onaylayabilirsiniz. FUSLOG, montaj bağlaması ile çalışırken mükemmel bir araçtır. Not: FUSLOG şey görmüyoruz ve sen, sen gerektiğini düşünüyorum Internet Explorer tarihinin net her şey ve tekrar deneyin.
sen 'assembly binding redirection' denen durdurmak için gereken Bu sorunu gidermek için. Bu PIA'lar genellikle GAC'de onlarla bir politika dosyasına sahiptir. İlke dosyasının amacı, eski PIA sürümlerini derlemeyi çözerken daha yeni sürümlere yönlendirmektir. Bunu görmek için aşağıdakileri yapın:
- Basın 'Windows tuşu + R' çalıştırmak menüsünü açın.
- 'C: \ Windows \ Assembly \ GAC' yazın ve Enter tuşuna basın. Not: Bir 32 bit makinesini çalıştırıyorum. PIA'larınızın büyük olasılıkla GAC'de 'C: \ Windows \ Assembly \ GAC_MSIL' gibi farklı bir konuma kurulacaktır.
GAC'ye girdiğinizde, aşağıya doğru kaydırın ve başvurduğunuz PIA'ların klasörlerini arayın (ör. Microsoft.Office.Interop.Excel). Kaydırmaya devam ederseniz, 'İlke' ile başlayan klasörleri, ardından bir sayıyı, ardından da PIA'nın adını görmelisiniz (ör. Policy.12.0.Microsoft.Office.Interop.Excel). Bu, bağlayıcı yeniden yönlendirmeyi gerçekleştiren ilke dosyasıdır. Bu klasör içinde XML yapılandırma dosyası açın ve aşağıdakine benzer bir durumla: Yukarıdaki kod snippet'inde
<?xml version="1.0" encoding="UTF-16"?><configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity publicKeyToken="71e9bce111e9429c" name="Microsoft.Office.Interop.Excel" culture="neutral"></assemblyIdentity>
<bindingRedirect oldVersion="12.0.0.0" newVersion="14.0.0.0"></bindingRedirect>
</dependentAssembly>
</assemblyBinding>
</runtime>
, etiketi "bindingRedirect OldVersion ..." sorumludur PIA montaj yönlendirmesi.Eğer aşağıdaki gibi bir kod dışında bir açıklama ise:
<?xml version="1.0" encoding="UTF-16"?><configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity publicKeyToken="71e9bce111e9429c" name="Microsoft.Office.Interop.Excel" culture="neutral"></assemblyIdentity>
<!--<bindingRedirect oldVersion="11.0.0.0" newVersion="12.0.0.0"></bindingRedirect>-->
</dependentAssembly>
</assemblyBinding>
</runtime>
O zaman bu yönlendirme dikkate alınmayacaktır. Dosyayı, eski Office sürümleri için geliştirilirken değil, iyi bir amaca hizmet ettiğinden, basitçe silmek yerine yorum yaparım. Gereksinim duyduğunuz her PIA İlke dosyasında bunu gerçekleştirin ve geliştirme makineniz yeniden yönlendirmeyi durduracaktır.
Umarım bu soruya cevap verir!
Sorun? * Ne * sorun? –
Her bir ofis aksamını tıklarsanız ve "Tümleşik türleri göm" ü açarsanız ne olur? Bunun, PIA dosyalarının nerede olduğu veya hangi versiyonun kullanıldığıyla ilgilenme ihtiyacını ortadan kaldırdığını düşünüyorum. –