在x64平台上调试依赖于x86的WCF服务
2024-08-25 20:25:03
根据微软官方的解释,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”
幸好在http://social.msdn.microsoft.com/Forums/en/wcf/thread/2e29a4aa-e587-43ef-bf50-329b7cd3eefb 找到了解决方案:
- 备份好原来的x64版本的WcfSvcHost.exe
- 打开VS命令行命令行(开始,程序,VS2010,VS工具,VS控制台)
- 通过命令切换到WcfSvcHost.exe所在文件夹
- 运行命令 corflags /32BIT+ /FORCE WcfSvcHost.exe
- 完成
可以正常运行了
若是想切换回原来的模式,可以还原文件或者改命令参数
解决方法:
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
注:若是想切换回原来的模式,可以还原文件或者改命令参数。
最新文章
- nginx平滑升级
- 进阶系列一【绝对干货】---SQL语句执行效率优化
- c语言的字符串操作(比较详细)
- Determining Current Block and Current Item in Oracle Forms
- c语言多线程队列读写
- BZOJ-1228 E&;D 博弈SG+找啊找啊找规律
- YAML 语言语法
- Linux服务器集群系统(一)--转
- 几种快速傅里叶变换(FFT)的C++实现
- mave 安装本地jar包到maven库
- BitmapImage 读取内存流和显示图片
- Spring中Quartz的配置及corn表达式
- java排序算法(四):冒泡排序
- ReactNative之结合具体示例来看RN中的的Timing动画
- wiki leaks file link url
- JavaScript splice() 方法和JavaScript split() 方法
- useful urls
- RFC2616-HTTP1.1-Status Code(状态码规定部分—单词注释版)
- Cocos Creator的类别
- BZOJ3996[TJOI2015]线性代数——最小割