C# 添加引用问题(转)

手头上一个项目使用了混合语言编程:C# 和C++,由 C++ 输出 DLL 供 C# 使用,但是遇到一个问题。在 C# 中要添加 C++ 的 DLL 引用,通过菜单“引用”->“添加引用”->“浏览”找到 C++ 的 DLL,正确地添加了进来;但是项目的生成方式有两种:Debug 模式和 Release 模式,上述方法添加的 DLL 路径是静态的,即只能是 Debug 或 Release 某一种生成版本的,如果改变解决方案的生成方式,就要每次手动更改引用,非常不方便。于是 google 之,找到 CompilerParameters::ReferencedAssemblies.Add 方法,貌似可以在代码中添加引用,而不是通过菜单方式,然后使用
#ifdef _DEBUG 


添加Debug版DLL引用


#else


添加Release版DLL引用


#endif






,但把上述代码放在何处是个问题,最后发现此路不通;继续 google,发现了解决办法,特记录在此:


1. 通过菜单“引用”->“添加引用”->“项目”,而不是“浏览”,这样DLL引用的版本就能随解决方案生成方式的改变而自动改变,即DLL路径是非静态的。


2. 由于添加的引用实际上是记录在项目文件 *.csproj 中,所以可以通过改变此文件中的内容来改变引用路径。首先找到 DLL 引用位置,类似于 <Reference Include="…,<HintPath>..\Debug\××××.dll</HintPath>,然后将 Debug (或Release)修改为 $(Configuration) ,即解决方案的生成方式。


3. 此方法要用到命令行,较为麻烦,见


http://social.msdn.microsoft.com/Forums/en-US/msbuild/thread/5d97d887-c16a-4488-a438-d49945c04e06/


4. 另见


http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/faa47a6d-3f32-45a5-9865-458fc9486de9/
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值