5

バックグラウンド。C# で記述された ComWrapper.dll という COM ラッパー アセンブリと、Project1.exe という Visual Basic 6 アプリケーションがあります。Project1.exe.manifest ファイル (内容を以下に示します) を追加しましたが、「サイド バイ サイド構成が正しくないため、アプリケーションを開始できませんでした。これが私の構成です」というエラーが表示されます。 .

<?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>

どんな助けでも大歓迎です。

4

2 に答える 2

6

(完全な) エラー メッセージ テキストに示されているように、sxstrace.exe を使用してエラーの実際の原因を特定する必要があります。間違っているのは次のとおりです。

情報: マニフェスト ファイルを解析しています

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

情報: マニフェスト定義 ID は Project1.exe,processorArchitecture="x86",type="win32",version="1.0.0.0" です。

情報: 参照: ComWrapper,processorArchitecture="msil",version="1.0.0.0"

エラー: 9 行目: 要素 clrClass は、このバージョンの Windows ではサポートされていない要素 urn:schemas-microsoft-com:asm.v1^dependentAssembly の子として表示されます。

問題は、dependentAssembly要素がアセンブリの完全な説明を提供してはならないことです。参照を示すためにのみ使用されます。そのアセンブリ用に別のコンポーネント マニフェスト ファイルを用意する必要があります。このファイルには、.xml を介してエクスポートされた COM クラスが記述されていclrClassます。これについては、この MSDN 記事で詳しく説明しています。

于 2010-07-07T22:58:28.460 に答える
0

このエラーは、構成ファイルのタイプミスが原因である可能性があります。app.config ファイルをチェックして、タイプミスを探します。

于 2019-10-21T19:33:03.627 に答える