我有一个需要访问 .NET 程序集的应用程序(Delphi Native 代码)(公开了一些 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 程序集上工作,但无法弄清楚出了什么问题。问题是我不确定错误是什么意思。