带有 .NET 应用程序的多平台免注册 COM
-
19-09-2019 - |
题
我有一个使用 COM 组件的 .NET 应用程序。应用程序本身是“任何CPU”,但COM组件有32位和64位版本。
文章 http://msdn.microsoft.com/en-us/magazine/cc188708.aspx 明确了如何使用免注册 COM。但我们应该做什么:
- “任何CPU”应用程序
- 依赖组件:
- Assembly1使用COM组件“Foo”,foo有32位和64位版本,文件名相同(Foo不是我们创建的,它是由第三方制作的)。
一种可行的方法是为 32 位版本和 64 位版本创建单独的应用程序清单。这样,每个清单文件都可以包含 COM 组件的正确大小和哈希值。不过我想避免这种情况。
是否有可能以某种方式在 Visual Studio 中轻松设置此功能?是否可以有一个文件夹(包含用于 COM 组件的 x64、x86 子文件夹),应用程序可以在其中无缝运行两个平台?
任何正确方向的指示将不胜感激!我可能只是忽略了一些简单的开关或设置。
解决方案
该processorArchitecture元素可以让你写一个 <assemblyIdentitiy>
这是具体的。添加其中两个,一个使用“x86”,另一个使用“amd64”。它被记录在这个(非常差) MSDN 库文章.
不隶属于 StackOverflow