Office 2007 C# 추가 기능을 개발했습니다. 그것은 배포를 위해 클릭을 사용합니다. Office 2010을 사용하는 시스템에서는 모두 정상이지만 XP SP3, NET 3.5sp1 및 Office 2007이 설치된 컴퓨터에서는 이상한 어셈블리 로딩 오류가 발생합니다.Clickonce Office 추가 기능 어셈블리 참조 문제 배포시
내 추가 기능은 직접 Microsoft.Office.Interop.SmartTag.dll
을 참조하지 않습니다. 이것은 내 추가 기능에서 참조되는 Microsoft.Office.Tools.Commmon.v9.0.dll
에 의해 참조됩니다.
클릭하여 추가 기능을 설치하면 추가 기능의 로컬 설치 폴더에서 Microsoft.Office.Interop.SmartTag.dll
을 찾을 수 없다는 오류가 발생합니다. Microsoft.Office.Tools.Commmon.v9.0.dll
및 Microsoft.Office.Interop.SmartTag.dll
은 모두 올바른 버전의 GAC에 있습니다.
나는 Reflector
을 사용하여 문제를 찾아 냈지만 GAC에서 DLL을 쉽게 찾아서 Microsoft.Office.Interop.SmartTag.dll
참조를 해결합니다.
제 Clickonce 설치가 실패하는 이유는 무엇입니까? 필요한 어셈블리가 있지만 GAC는 분명히 논의되지 않습니다.
매니페스트 레지스트리 값에 |vstolocal
을 추가하면 모든 것이 예상대로 작동하지만 여전히 처음에 오류가 발생하는 이유가 궁금합니다.
VSTO - 예, PIA - 아니요. Office 2007은 PIA가 이미 일반 설치로 설치되었으므로 필요하지 않습니다. 그럼에도 불구하고 특정 시스템에 모든 필수 구성 요소가 이미 설치되어 있기 때문에 이는 문제가되지 않습니다. – wpfwannabe
Office 2007이 설치되어 있기 때문에 이미 설치된 PIA에만 의존 할 수 없습니다. 이 내용은 Office 2010에는 해당되지만 2007에는 적용되지 않습니다. – RobinDotNet
사전 설치된 PIA에 의존 할 수없는 이유에 대해 자세히 설명해 주실 수 있습니까? '| vstolocal'을 추가하면, 내 추가 기능이 예상대로 작동합니다. 그래서 모든 것이 * 설치되어 있습니다. – wpfwannabe