문제

다음과 같은 매니페스트가 포함 된 어셈블리가 있습니다.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50608.0" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
</assembly>

내 기계 중 하나 에서이 어셈블리는 작동하지 않습니다 (어셈블리가로드되지 않습니다). 종속성에서 이것을 열면 Walker가 다음 오류 메시지를 제공합니다.

Error: The Side-by-Side configuration information for "SomeAssembly.dll" contains errors. This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem (14001).

동일한 어셈블리는 다른 컴퓨터에서 잘 작동하며 종속성 워커에 오류가 발생하지 않습니다.

문제를 해결할 수있는 한 문제는 첫 번째 기계가 어떤 종류의 종속성을 놓친 (예 : MSVCR 재분배 가능)로 인한 것이지만 이미 확인했으며 Microsoft Visual C ++ 2005 재분배 가능은 두 시스템에 모두 잘 설치됩니다.

누락 된 종속성이 무엇인지 알아내는 방법은 무엇입니까?

내가 알아 차린 유일한 것은 작업 기계의 Winsxs 디렉토리에 추가 항목이 있다는 것입니다.

x86_Microsoft.VC80.ATL_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_473666fd
도움이 되었습니까?

해결책

정렬!

누군가가 의존성 워커에서 언급 된 ' "someassembly.dll"'이 실제로 의존성 워커에서 열린 것과 다른 DLL이라고 친절하게 지적했습니다! (whoops!)

이 어셈블리의 매니페스트를 살펴보면 Microsoft.vc80.Crt v8.0.50727.4053이 타겟팅되었지만이 기계에는 존재하지 않는 사실 때문입니다. (보안 업데이트를 통해 설치).

다른 팁

같은 문제로 어려움을 겪은 후 개발 시각적 스튜디오 설치에 적용되는 업데이트가 일부 대상 기계 업데이트를 해결할 수 있음을 알았습니다.

Visual Studio Updates

예를 들어, 위의 강조 표시된 업데이트는이 특정 질문을 다룹니다.

나란히 릴레이를 시작했습니다. 어셈블리 내부에 "매니페스트 파일"을 포함하지 말 것을 제안합니다. 소프트웨어를 설치할 PC가 매니페스트에 포함 된 버전으로 업데이트되었다고 확신 할 수 없기 때문에 설명합니다.

프로젝트 속성 설정 "링커 manifest 파일 manifest"를 "아니오"로 설정하는 것을 비활성화 할 수 있습니다.

이것이 도움이되기를 바랍니다. 행운을 빕니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top