vc++调用c#dll时的问题

最近做项目时遇到一个问题,用vc++调用C#的一个dll。vc++用的是vs2013,实现网络服务。因为公司大部分项目用到C#,所以业务逻辑层用C#实现,封装成dll,并包装成com接口供vc++程序调用。

其它一切正常,就是在最后编译成Release版本时出现问题:“error C1083: 无法打开编译器生成的文件.tlh: Permission denied”。

google,找各种解决方案,网上大部分的解决方法是:在VC项目属性->c/c++->输出文件->汇编程序输出选项中更改为无列表,于是照做,重新编译,问题依旧。后来想是不是因为我把引用放在了继承自CWinApp的一个专门存放全局变量的文件内。是不是因为这个原因,于是改程序,把引用放在别处。重新编译,问题还是没有解决。这个问题耗费了我大半天的时间。

第二天,继续google,直接用vs报错信息搜索。于是找到一篇:”makefile 无法打开编译器生成的文件msado15.tlh”。其中一个哥们说他也不知道改了什么文件夹属性就好了。于是我突然想到我的项目是签入到TFS源码管理器里的,平时TFS源码管理器会把所管理的项目文件夹属性更改为只读。于是我赶紧把项目文件夹取消只读属性,再次编译,终于正常!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值