我在c#类库项目中引用了一个64位com互操作dll,并具有初始化它的代码,此库用于asp.net项目。
由于业务层项目和asp.net是在c#中,所以我已经将其配置为适用于任何CPU平台。此外,我还设置了
现在,当我试图在业务层项目中初始化com类时,会出现以下错误。任何建议,这个错误是为了什么,为什么它提到无效的Win32应用程序,因为我已经把它介绍到64位了。
使用IClassFactory {31DE5D69-1F5F-434D-8855-F627EAEB2404}创建COM组件的实例,但由于以下错误而失败: 800700c1不是有效的Win32应用程序。( HRESULT: 0x800700C1除外).
谢谢
发布于 2013-01-16 07:31:40
我必须在visual studio 2012的64位命令提示符中注册dll,这正确地将dll注册为64位,并且我能够在c#项目中使用它。
发布于 2013-01-02 12:49:16
不可能从x64进程引用x86 COM库。如果您将配置设置为“任意CPU”,则在应用程序初始化期间终止单词长度get,这意味着如果在x86系统上启动应用程序,将导致使用x86配置,而不能引用x64库。
为了使用基于x64的COM服务器,您需要创建一个x64库。在IIS配置中,应用程序池还需要使用x64。但是,您应该避免在项目中使用“任何CPU”,引用这篇文章。
https://stackoverflow.com/questions/14120154
复制相似问题