我使用的是第三方COM组件,供应商提供了32位和64位版本。我想为“任何cpu”构建我的.NET应用程序,并且如果进程是32位,则调用32位COM组件,或者在64位模式下调用64位组件。
有人能指出任何有用的资源来描述这个过程是如何运作的吗?如果我注册了正确的COM组件,它是否会通过魔法发生?
由于
安迪
答案 0 :(得分:1)
答案 1 :(得分:1)
32位进程将加载32位COM服务器,64位进程将加载64位COM服务器。换句话说,只要您在目标计算机上安装正确的COM服务器,就必须完全不需要为此工作。
答案 2 :(得分:0)
AFAICT COM(一直是)二进制标准接口。
它的定义不依赖于字节排序,字大小或其他依赖于体系结构的细节。完全可能(对于简单的接口而言,甚至是困难的)编写符合普通C代码中所有内容的COM组件。
某些个人(Don Box,Craig Brockschmidt,我有一种感觉,我在某种程度上忘记了最知名的一个......糟糕的记忆),因为编写关于如何以这种方式实现COM的书而闻名。 / p>
如果您需要任何确认,可以确认MIDL的输出不依赖于您的平台特性
答案 3 :(得分:0)
使用32位COM dll。
如果您的应用程序类型是Web,请参阅您的32位COM dll并部署该应用程序。 在IIS Set中'启用32位应用程序= TRUE。
在Windows应用程序中,只需引用32位dll并使用“Any CPU”构建应用程序。