scylalala 2020-07-24 22:24 采纳率: 50%
浏览 124
已结题

C#程序中如何调用C++的DLL?

C++DLL中封装了一些类和函数,想要在C#程序中调用它们。

直接添加引用的话,会显示错误“未能添加对xxxx.dll的引用,请确保文件可访问并且是一个有效的程序集或COM组件”。如下图1所示。

我查了一下,是说C++DLL是非托管类,所以是不能直接引用的。需要添加类似下面的代码:

[DllImport("*.dll")]

private static extern int ***(string text);

我想请问一下

1.代码有效的话,要引用的dll是要放在项目bin/debug文件夹下吗?

2.第二行代码需要把DLL中包含的所有函数全都写出来吗?因为一个dll封装了很多的函数。

或者有没有人能帮我解答一下C#调用C++Dll应该怎么实现呢?我查了好多资料,但还是不太明白。谢谢大家。

.
图片说明

  • 写回答

2条回答 默认 最新

  • threenewbee 2020-07-25 05:34
    关注

    (1)不一定,也可以放在system32下
    (2)不需要,需要调用哪个就声明哪个

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月14日

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?