ฉันได้พัฒนา Add-in ของ Office 2007 C# แล้ว มันใช้การคลิกครั้งเดียวสำหรับการปรับใช้ ในระบบที่มี Office 2010 ทุกอย่างใช้ได้ แต่บนเครื่องที่มี XP SP3, NET 3.5sp1 และ Office 2007 ฉันได้รับข้อผิดพลาดในการโหลดแอสเซมบลีแปลกๆ
Add-in ของฉันไม่ได้อ้างอิงถึง Microsoft.Office.Interop.SmartTag.dll
โดยตรง สิ่งนี้ได้รับการอ้างอิงโดย Microsoft.Office.Tools.Commmon.v9.0.dll
- ซึ่งถูกอ้างอิงใน Add-in ของฉัน
เมื่อติดตั้ง Add-in ด้วยการคลิกเมื่อมีข้อผิดพลาดรายงานว่าไม่พบ Microsoft.Office.Interop.SmartTag.dll
ในโฟลเดอร์การติดตั้งในเครื่องของ Add-in ของฉัน ทั้ง Microsoft.Office.Tools.Commmon.v9.0.dll
และ Microsoft.Office.Interop.SmartTag.dll
อยู่ใน GAC โดยมีเวอร์ชันที่ถูกต้อง
ฉันได้ใช้ Reflector
เพื่อลองตรวจพบปัญหา แต่สามารถแก้ไขการอ้างอิง Microsoft.Office.Interop.SmartTag.dll
ได้อย่างง่ายดายโดยการค้นหา DLL ใน GAC
อะไรคือสาเหตุที่เป็นไปได้ที่ทำให้การติดตั้ง Clickonce ของฉันล้มเหลว มีแอสเซมบลีที่จำเป็นอยู่ แต่ไม่ได้ปรึกษา GAC อย่างชัดเจน
ฉันพบว่าการเพิ่ม |vstolocal
ลงในค่ารีจิสทรี Manifest ทำให้ทุกอย่างทำงานได้ตามที่คาดไว้ แต่ฉันก็ยังสงสัยว่าเหตุใดฉันจึงได้รับข้อผิดพลาดตั้งแต่แรก