终于搞定如何在LR中调用C#动态链接库了
最近兴趣所致,做了一把如何将C#的动态链接库调用到LR中去!因为C#是托管代码,那么在LR这种类C代码中是无法调用的,实际做起来也相对简单!就是VC++7再做一次简单的包装!就可以了!具体如何操作,我会在以后的视频中教大家一步步操作的!当然你得有点C#和编写DLL 的基础!呵呵! 原来是广告。sdlkfj3 sdlkfj3 C++的DLL调用C#的DLL,没环境,楼上快贴出来吧。 期待你的视频! sdlkfj3 期待~~ 由于C#编绎出来的DLL不是计算机所能直接识别的二进制指令码,他需要CLS进行再解释。方法1:
1 创建C# DLL,需要指定应用类型为“类库”,代码:
namespace CSLib
{
public class Class1
{
private string name;
public string Name
{
get
{
return name;
}
set
{
name = "Your Name: " + value;
}
}
}
}
2 C++客户程序,是个控制台应用,代码:
#using "..\debug\CSLib.dll"
using namespace CSLib;
int _tmain(int argc, _TCHAR* argv[])
{
Class1 ^c = gcnew Class1();
c->Name = "zzj";
printf("%s\n", c->Name);
return 0;
}
3 几点要记住:
1 使用#using引用C# DLL,而不是#include;
2 别忘了using namespace CSLib;
3 使用C++/clr语法,采用正确的访问托管对象,即:使用帽子'^',而不是星星'*'。
方法2:将C#写的DLL做成COM;
C#代码开发时,可以通过.NET SDK里的工具转换成COM接口,再用C++引入后调用
参考: http://www.codeproject.com/csharp/com_object_in_c_.asp 期待中! 期待啥啊?7楼,直接把楼主给搞了。估计很爽吧? to7#:能不能贴出代码看一下啊,我用C++调用C#的动态链接库后,再导出为C dll,在Loadrunner中调用报错“Error: An exception was raised while calling invocation function in interpreter extension cciext.dll: System Exceptions: Uknown.” 收藏了,多谢楼主的想法 视频在哪呢,卖关子呢
页:
[1]