IIS WCF 调用COM问题
参考资料:
http://cn.voidcc.com/question/p-msefzjic-so.html
https://www.cnblogs.com/CrazyKey/archive/2012/07/13/2590083.html
https://www.cnblogs.com/Lulus/p/13892715.html
1、WCF里引用COM对象
引用的时候一切正常,调用的时候报错,提示未注册,实际已经注册了
解决办法:
设置IIS网站/应用程序兼容32位,这样才能运行32位的COM组件
2、WCF类库调试时提示:试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
修改项目属性->生成->目标平台 的Any CPU修改为X86
3、WCF类库调试报错
VS使用WcfSvcHost.exe和WcfTestClient.exe实现WCF类库的托管,而默认的WcfSvcHost.exe和WcfTestClient.exe是64位的(随电脑位数),所以64位的WcfSvcHost.exe和WcfTestClient.exe无法托管32位的WCF类库。
打开VS的Command Prompt
执行下面的命令:
cd C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE corflags /32BIT+ /FORCE WcfSvcHost.exe corflags /32BIT+ /FORCE WcfTestClient.exe
注意:第一条命令根据实际情况填写,这是VS的路径
VS2010:C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE