.net 程序调用COM组件因为32/64位问题报错以及处理

有时.net程序需要调用COM组件,在VS 2015中使用.net framework 4.5时默认使用Any CPU作为目标平台,但是有一个“首选32位(P)”的选项会被默认选中,如果切换到.net 4.0则该选项无法被勾选。因此迫于支持Windows XP环境将.net版本降级到4.0后发现初始化第三方库(OCX)会失败。
解决方案
强制将工程的目标平台设置为x86。如此,使用COM时不会再报错。

另外,我的VS 2015已经升级到Update 3,但是将.net版本升级到最高,也不能在将工程输出类型设置为类库的情况下,再选择“首选32位(P)”选项,个人以为,这可能是微软的设计,只需要考虑启动程序。如果工程输出类型选择Windows应用程序或者控制台应用程序,都可以选择,但是类库不行。
posted @ 2017-05-17 16:01  黄蛤蟆  阅读(1860)  评论(0编辑  收藏  举报