我有一个使用 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 库文章.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top