csExWB 中 的ComUtilities 的vs 2008 编译器问题解决

 

2010-12-12 23:26:11|  分类: c# |  标签: |字号 订阅

以下文章摘自  http://www.canaware.com/default.aspx?g=posts&t=722 
这个文章也是转载别人的,不过别人的已经访问不到了,幸运的是这个给出了这个问题的解决方案。

Compilation error in VS 2008

Compile solution ComUtilities using Visual Studio 2008. Compilation will fail with:

1>.\ComUtilities.idl(46) : error MIDL2003 : redefinition : IUri 1>.\ComUtilities.idl(53) : error MIDL2003 : redefinition : Uri_PROPERTY_ABSOLUTE_URI 1>.\ComUtilities.idl(54) : error MIDL2003 : redefinition : Uri_PROPERTY_STRING_START 1>.\ComUtilities.idl(55) : error MIDL2003 : redefinition : Uri_PROPERTY_AUTHORITY ... 

I found a solution in
http://groups.google.com/group/csexwb/browse_thread/thread/4c6106529769a9f8?pli=1

According to this I changed #define _WIN32_IE 0x0600 to #define _WIN32_IE 0x0700 in stdafx.h and commented lines 38-259 in ComUtilities.idl and it worked.

大意是:stdafx.h 的 #define _WIN32_IE 0x0600 改为 #define _WIN32_IE 0x0700

ComUtilities.idl 中的38-259行注释掉。

我的改法是:将 stdafx.h 的 #define _WIN32_IE 0x0600 改为 #define _WIN32_IE 0x0800,这个改法未经证实,只是我这可以用,那个0700我这也可以用。

还有,调试这个程序的时候,会出来一个错误,什么无法从com上下文转换为什么,状态已持续60秒等的,解决方法是:调试 → 异常,managrd debugging assistants中取消勾选 ContextSwitchDeadlock 的 throw (中文:引发)项就OK了。这对需要长时间执行的程序报出的错误都可解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值