我想向我的 .NET 应用程序添加免注册 COM 引用。免注册意味着用户无需将 COM 组件注册到他们的系统即可运行应用程序。
我找到了很多关于这个主题的文章(例如MSDN、这个 S/O question等),但没有一个包含具体步骤。这是我尝试过但没有奏效的方法:
- 如本答案
foo.dll
中所述,使用 mt.exe 为COM dll(例如)生成清单。 - 添加
foo.dll
到foo.dll.manifest
我的应用程序中作为“构建操作”=“内容”和“复制到输出目录”=“始终复制”。 - 添加对
interop.foo.dll
附带的引用foo.dll
。 使用此部分添加应用清单文件:
<dependency> <dependentAssembly> <assemblyIdentity type="win32" name="foo" /> </dependentAssembly> </dependency>
构建并运行。
错误提示应用程序配置不正确。<assemblyIdentity>
在没有运气的情况下尝试了不同的值。
有人可以分享经验吗?谢谢。