在x64平台上调试依赖于x86的WCF服务

根据微软官方的解释,WCF(之前的版本名为“Indigo”)是使用托管代码建立和运行面向服务(Service Oriented)应用程序的统一框架。它使得开发者能够建立一个跨平台的安全、可信赖、事务性的解决方案,且能与已有系统兼容协作。

云平台框架。
 
上次在作业的时候遇到了一件蛋疼的事情。
根据要求,需要建立一个WCF Service Library,由于我的机器是x64,考虑到兼容性,将工程编译属性调整为x86。

 

 

 

究其原因,我写的是一个dll文件,需要一个exe作为运行容器来调用,这VS2010中,这个临时容器由 WCF Service Host 来承担 Microsoft Visual Studio 10.0\Common7\IDE\WcfSvcHost.exe
在安装VS的时候,安装程序侦测到当前系统是x64,所以给WcfSvcHost.exe 设定为64位,该程序无法调用32位的dll,所以会报错“incorrect format”
 
  1. 备份好原来的x64版本的WcfSvcHost.exe
  2. 打开VS命令行命令行(开始,程序,VS2010,VS工具,VS控制台)
    在x64平台上调试依赖于x86的WCF服务
  3. 通过命令切换到WcfSvcHost.exe所在文件夹
  4. 运行命令 corflags /32BIT+ /FORCE WcfSvcHost.exe
  5. 完成
可以正常运行了 在x64平台上调试依赖于x86的WCF服务

 

若是想切换回原来的模式,可以还原文件或者改命令参数
 
 
解决方法:
1、找到WcfSvcHost.exe的所在路径:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE
2、C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts,以管理员打开VS2013 x64 本机工具命令提示
3、运行命令:corflags /32BIT+ /FORCE WcfSvcHost.exe
 
注:若是想切换回原来的模式,可以还原文件或者改命令参数。

转载于:https://www.cnblogs.com/chengeng/p/5987565.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值