2009-08-31 6 views
2

.net 3.5 프레임 워크를 사용하는 Visual Studio에서 프로그램을 프로그래밍하고 Microsoft 제품이 Office 제품과 상호 작용하기 위해 상호 작용합니다. app.config 파일에 문제가 있습니다. 매번 솔루션을 컴파일하고 다시 빌드하거나 빌드하면 오류 목록에 경고가 표시됩니다.동일한 종속 어셈블리의 서로 다른 버전간에 충돌이 발견되었습니다.

동일한 종속 어셈블리의 서로 다른 버전간에 충돌이 발견되었습니다.

이 메시지를 두 번 클릭하면 Visual Studio에서 문제를 해결하려고 시도하지만 다음 빌드에서는 경고가 다시 발생합니다. 난 비주얼 스튜디오 문제를 해결하려고 무엇 app.config 파일에서 확인하고 내가 bindingRedirect 때문에 버전 번호의 실패라고 생각

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
      <assemblyIdentity name="office" publicKeyToken="71E9BCE111E9429C" culture="neutral"/> 
      <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0"/> 
     </dependentAssembly> 
     <dependentAssembly> 
      <assemblyIdentity name="Microsoft.Vbe.Interop" publicKeyToken="71E9BCE111E9429C" culture="neutral"/> 
      <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0"/> 
     </dependentAssembly> 
    </assemblyBinding> 
</runtime> 

이 줄을 삽입 것으로 보인다하지만 난 그들을 편집 할 수 없습니다 , 때문에 이미 "문제를 해결 - 빌드 - 문제가 발생"thingy.

누군가는 무엇이 잘못 될지 알 수 없습니다. 나는 어떤 단서도 가지고 있지 않다.

모든 아이디어에 감사드립니다.

+0

MSBuild의 자세한 출력을 활성화하고 충돌을 찾을 수 있는지 확인하는 것이 좋습니다 (http://blogs.msdn.com/b/saraford/archive/2008/10/07/did-you-know- msbuild -verbosity-in-the-output-window-329.aspx 진단은 이와 같은 문제를 해결할 때 가장 일반적으로 사용하는 진단 도구입니다. –

답변

0

Jinx. 그래서 Office 어셈블리에 대한 의존성과 비슷한 문제를 연구 중입니다. 필자의 경우 DEV BOX에 설치하지 않은 이전 버전의 Office를 지원해야합니다 (그러나 빌드 서버에 설치되어 있음).

내가 여기 게시물 중 하나에서 발견 한 MS Office Wrapper for .Net 오픈 소스 프로젝트를 사용하기로 결정했습니다. 모든 Office 버전을 97에서 2007까지 지원한다고 주장합니다 (호환 가능한 상태로 유지해야하는 가장 오래된 버전으로 제공되는 API 호출로 제한되는 한).

아마도 해당 래퍼를 사용하면 Office 버전 종속성도 해결/단순화됩니다.

+0

안녕하세요. 래퍼를 언급 해 주셔서 대단히 감사합니다. 문제는 내 프로그램이 이미 완료되었다는 것입니다. 이 래퍼를 사용하여 모든 명령을 다시 쓰고 싶지 않습니다. 그러나 나는 그것에 대해 살펴볼 것입니다. 그리고 아마도 더 많은 버전이 이것을 마이그레이션 할 것입니다! 어쨌든 당신을 감사하십시오 !! –

+0

나는 거의 같은 보트에있어 ... 프로그램이 완료되고 리팩토링 여부를 고려하고 있습니다. 나는 버전 참조를 위해 .csproj 파일을보고 그 빌드 서버에 설치된 버전으로 변경하는 빌드 머신에서 실행되는 작은 파서를 작성했다. 별도의 서버가 없다면 가상 PC도 훌륭하게 작동합니다. –

관련 문제