2010-07-07 2 views
4

배경. ComWrapper.dll이라는 COM Wrapper 어셈블리가 C#으로 작성되었으며 Visual Basic 6 응용 프로그램은 Project1.exe라고합니다. Project1.exe.manifest 파일 (내용이 아래에 나와 있음)을 추가했는데 "side-by-side 구성이 잘못되어 응용 프로그램을 시작하지 못했습니다. 다음은 내 구성입니다. .등록 무료 COM Interop : side-by-side 구성이 잘못되어 응용 프로그램을 시작하지 못했습니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
    <assemblyIdentity type="win32" 
        name="Project1.exe" 
        version="1.0.0.0" 
        processorArchitecture="x86" /> 
    <dependency> 
    <dependentAssembly> 
     <assemblyIdentity name="ComWrapper" version="1.0.0.0" processorArchitecture="msil"></assemblyIdentity> 
     <clrClass clsid="{3ac3d04e-1f83-4a27-b516-95e38126685d}" progid="MyComObjectNamespace.myclass" threadingModel="Both" name="MyComObjectNamespace.myclass" runtimeVersion=""></clrClass> 
     <file name="ComWrapper.dll" hashalg="SHA1"></file> 
     <dependency> 
     <dependentAssembly> 
      <assemblyIdentity name="mscorlib" version="2.0.0.0" publicKeyToken="b77a5c561934e089"></assemblyIdentity> 
     </dependentAssembly> 
     </dependency> 
    </dependentAssembly> 
    </dependency> 
</assembly> 

어떤 도움이 많이 주시면 감사하겠습니다. 당신은 (전체) 오류 메시지 텍스트가 수행 할 것을로서, 오류의 실제 원인을 확인 sxstrace.exe를 사용할 필요가

답변

5

을. 여기에 무엇을의 잘못되었습니다 :

INFO: Parsing Manifest File

C:\Temp\sxs\Project1.exe.Manifest.

INFO: Manifest Definition Identity is Project1.exe,processorArchitecture="x86",type="win32",version="1.0.0.0".

INFO: Reference: ComWrapper,processorArchitecture="msil",version="1.0.0.0"

ERROR: Line 9: The element clrClass appears as a child of element urn:schemas-microsoft-com:asm.v1^dependentAssembly which is not supported by this version of Windows.

문제는입니다.요소는 어셈블리에 대한 완전한 설명을 제공해서는 안되며 참조를 나타낼 때만 사용됩니다. 해당 어셈블리에 대해 별도의 구성 요소 매니페스트 파일을 제공해야하며 내 보낸 COM 클래스는 clrClass을 통해 설명됩니다. 자세한 내용은 this MSDN article에 설명되어 있습니다.