51Testing软件测试论坛

标题: 终于搞定如何在LR中调用C#动态链接库了 [打印本页]

作者: kernzhang    时间: 2007-5-24 22:00
标题: 终于搞定如何在LR中调用C#动态链接库了
最近兴趣所致,做了一把如何将C#的动态链接库调用到LR中去!因为C#是托管代码,那么在LR这种类C代码中是无法调用的,实际做起来也相对简单!就是VC++7再做一次简单的包装!就可以了!具体如何操作,我会在以后的视频中教大家一步步操作的!当然你得有点C#和编写DLL 的基础!呵呵!
作者: Zee    时间: 2007-5-25 08:43
原来是广告。sdlkfj3 sdlkfj3
作者: wxm2004734    时间: 2007-5-25 09:28
C++的DLL调用C#的DLL,没环境,楼上快贴出来吧。
作者: 冰清    时间: 2007-5-25 11:11
期待你的视频!
作者: Jerry_zhiyuan    时间: 2007-7-2 19:31
sdlkfj3
作者: beckham516    时间: 2007-7-5 14:49
期待~~
作者: shanxi    时间: 2007-7-6 08:59
由于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
作者: ggogw    时间: 2007-7-6 16:45
期待中!
作者: kakamissyou    时间: 2011-5-10 16:38
期待啥啊?7楼,直接把楼主给搞了。估计很爽吧?
作者: gamingirl    时间: 2013-5-3 17:01
to  7#:能不能贴出代码看一下啊,我用C++调用C#的动态链接库后,再导出为C dll,在Loadrunner中调用报错“Error: An exception was raised while calling invocation function in interpreter extension cciext.dll: System Exceptions: Uknown.”
作者: 云层    时间: 2013-5-6 14:58
收藏了,多谢楼主的想法
作者: bibi12530    时间: 2013-5-6 15:18
视频在哪呢,卖关子呢




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2