.NET アセンブリにアクセスする必要があるアプリケーション(Delphi ネイティブ コード)があります(いくつかの COM クラスを公開します。アセンブリとマニフェストを並べて使用してこれを実行したいと考えています。テスト用の .NET アセンブリでこれを実行しましたが、アクセスする必要があるアセンブリに問題があります。
アセンブリが登録されると、COM クラスをインスタンス化できます。アセンブリの登録を解除し、並べてアクセスしようとするとすぐに、上記のエラーが発生します。私のネイティブ アプリケーションにはアプリケーション マニフェストがあり、アセンブリへの単純な依存関係があります。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity type="win32"
name="TestApplication.exe"
version="1.0.0.0"/>
<dependency>
<dependentAssembly>
<assemblyIdentity
name="TestAssembly"
version="1.0.0.0"
processorArchitecture="x86"
publicKeyToken="xxxxxxxxxxxxxxxx"
type="win32"/>
</dependentAssembly>
</dependency>
</assembly>
.net アセンブリにリソースとして埋め込んだアセンブリ マニフェストは次のとおりです。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
name="TestAssembly"
version="1.0.0.0"
processorArchitecture="x86"
publicKeyToken="xxxxxxxxxxxxxxxx"
type="win32"/>
<clrClass
clsid="{F3F1623D-DB4A-4152-9A5D-5A465AD3A318}"
progid="TestAssembly.MyObject"
threadingModel="Both"
name="TestAssembly.MyObject"
runtimeVersion="v2.0.50727">
</clrClass>
<file name="TestAssembly.dll">
</file>
</assembly>
マニフェストは正しく設定されているようです。アプリケーション マニフェストの依存関係の名前、バージョン、または公開キー トークンを変更すると (例にあるものは私のコードにあるものではありません)、アプリケーションの構成が正しくないという通常の SxS エラーが発生します。
私はこれを別の (確かに単純な) .NET アセンブリで動作させていますが、何が問題なのかわかりません。問題は、エラーの意味がわからないことです。