C#SDK 可以不用C++或者COM转接 直接使用.net的dll 比较方便

Myer jojo 2016-9-1 19227

本帖最后由 jojo 于 2016-9-2 23:46 编辑

C#/.net其实也可以像C++那样直接使用DllExport并不需要通过C++或者走COM(经过自由翱翔大佬提醒 ,unmanagedexports是类似一种混合模式,还是通过c++导出的 只是合并到一起了,具体看unmanagedexports官网说明)

1.需要nuget添加下面的dll ,https://sites.google.com/site/robertgiesecke/Home/uploads/unmanagedexports
2.然后编译目标平台选项不要是Any CPU请选择x86 x64
3.Debug编译有错时请切成Release

注意:这个unmanagedexports引用编译时要逆向你的dll成il的 添加部分代码后重新编译 ,如果出现token {什么的错误 是因为中文系统的关系。
请切换才英文系统后编译






下面是vs2013的demo示例 含源码
附件: 9293附件: 9353







上传的附件:
最新回复 (12)
  • Myer zzmzaizai 2016-9-1
    0 2
    没怎么看明白是怎么写
  • Myer zzmzaizai 2016-9-1
    0 3
  • Myer jojo 2016-9-1
    0 4
    本帖最后由 jojo 于 2016-9-1 22:34 编辑

    Quotezzmzaizai 发表于 2016-9-1 20:09
    https://f.mypcqq.cc/forum.php?mod=viewthread&tid=3548&page=1

    感觉这个帖子说的是对的

    他是用 C++中转了一下
    其实.net可以直接用使用DLLExport的,不用中转的
    只是麻烦点要在il代码上加,unmanagedexports这个包就是实现了改il代码,直接nuget引用这个包就行

    具体你可以下项目文件直接看
    不想付喵币 可以去398279048群里看 我传了demo了
  • Myer jojo 2016-9-1
    0 5
    Quotezzmzaizai 发表于 2016-9-1 20:09
    https://f.mypcqq.cc/forum.php?mod=viewthread&tid=3548&page=1

    感觉这个帖子说的是对的


    就是.net可以直接用DllExport 生成的dll可以直接用 不用绕cpp或者com了
  • Myer 888831174 2016-9-2
    0 6
    说到底还是用了C++, unmanagedexports不过是把C++ CLR和C#的模块合并在了一起, 导出的还是C++来实现的
  • Myer zzmzaizai 2016-9-2
    0 7
    Quotejojo 发表于 2016-9-1 21:39
    就是.net可以直接用DllExport 生成的dll可以直接用 不用绕cpp或者com了


    感谢,我试试
  • Myer zzmzaizai 2016-9-2
    0 8
    我看你写的那份,附件能否发我一份呢,论坛之前的附件都坏了
  • Myer jojo 2016-9-2
    0 9
    Quote888831174 发表于 2016-9-2 10:16
    说到底还是用了C++, unmanagedexports不过是把C++ CLR和C#的模块合并在了一起, 导出的还是C++来实现的 ...



    大佬你的能再发次 下不了
  • 游客组 游客 2016-11-23
    0 10
    怎么调试哪,我把输出路径改成“testLib\bin\Release\Plugin”
    mypcqq软件也复制到Release目录下了,
    不能下断点调试哪!
  • Developer 路少 2016-12-29
    0 11
    没看名称
  • Myer nongda03 2017-1-3
    0 12
    谢谢大神分享,学习了
  • Myer ghkitg 2017-7-13
    0 13
    149,MyPCQQ,渣昫,10:31:38,My脣璃->testLib.xx.dll->婥囮啖 LastError=126->梑祥善硌隅腔耀瞎﹝
    • MyPCQQ官方站
      14
        登陆 注册 QQ登陆(暂不可用)
返回
发新帖