C# 添加引用问题(转)
来源:互联网 发布:辅助软件是什么意思 编辑:程序博客网 时间:2024/05/18 13:10
手头上一个项目使用了混合语言编程: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/
#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/
0 0
- C# 添加引用问题(转)
- c# windows应用程序不能添加web引用的问题
- C#如何添加/删除引用
- c# 添加引用DLL。CS
- C#项目添加dll引用
- C# 调用jave中ajax的WebService引用后添加HTTP Header的问题
- C# 下面添加DirectX,DirectSound的引用
- C#不添加引用,动态调用webservice
- C#不添加引用,动态调用webservice .
- C#不添加引用,动态调用webservice
- C#自动添加using引用命名空间
- C#自动添加using引用命名空间
- C#自动添加using引用命名空间
- C#自动添加using引用命名空间
- c# 读写excel要添加哪些引用
- C#中如何添加dll引用
- C#添加Web引用时提示超时
- c#中的引用问题1
- Boost智能指针:scoped_ptr
- jquery flot 在节点上显示提示
- 后认为他如何如何让和热天和人挺好
- android中AudioRecord使用
- HDOJ-2795-Billboard 解题报告
- C# 添加引用问题(转)
- android_Socket
- 学生3门课的总分,平均分,最大值,最小值
- poj 3352 Road Construction
- sphinx分布式索引简介
- C++新手——关于引用遍历
- IOS 各类证书截图步骤
- 关于Rijndael算法的加密
- 顺序栈和链栈的基本操作