首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在C++项目中初始化64位Com c# dll

在C++项目中初始化64位Com c# dll
EN

Stack Overflow用户
提问于 2013-01-02 10:10:45
回答 2查看 2.1K关注 0票数 0

我在c#类库项目中引用了一个64位com互操作dll,并具有初始化它的代码,此库用于asp.net项目。

由于业务层项目和asp.net是在c#中,所以我已经将其配置为适用于任何CPU平台。此外,我还设置了

现在,当我试图在业务层项目中初始化com类时,会出现以下错误。任何建议,这个错误是为了什么,为什么它提到无效的Win32应用程序,因为我已经把它介绍到64位了。

使用IClassFactory {31DE5D69-1F5F-434D-8855-F627EAEB2404}创建COM组件的实例,但由于以下错误而失败: 800700c1不是有效的Win32应用程序。( HRESULT: 0x800700C1除外).

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-16 07:31:40

我必须在visual studio 2012的64位命令提示符中注册dll,这正确地将dll注册为64位,并且我能够在c#项目中使用它。

票数 0
EN

Stack Overflow用户

发布于 2013-01-02 12:49:16

不可能从x64进程引用x86 COM库。如果您将配置设置为“任意CPU”,则在应用程序初始化期间终止单词长度get,这意味着如果在x86系统上启动应用程序,将导致使用x86配置,而不能引用x64库。

为了使用基于x64的COM服务器,您需要创建一个x64库。在IIS配置中,应用程序池还需要使用x64。但是,您应该避免在项目中使用“任何CPU”,引用这篇文章

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14120154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档