如何将 C++ dll 连接到 C# 项目?

     2023-02-22     212

关键词:

【中文标题】如何将 C++ dll 连接到 C# 项目?【英文标题】:How to connect C++ dll to C# project? 【发布时间】:2016-11-18 12:15:54 【问题描述】:

我有一个用 C++ 制作的 dll 文件,我需要将它连接到我的 C# winform 应用程序以使用不同的方法。我尝试像以前使用普通 C# dll's 一样引用它,但是由于 dll 的格式错误,所以有例外。 之后,我尝试按照我的推荐使用DllImport,效果非常好。所以,我的问题是,DllImport 是这种情况下唯一的解决方案吗?

【问题讨论】:

这是唯一的解决方案吗?不。它是最简单/最干净的一个吗?在极少数情况下,它需要有一个引用的 dll。在这些情况下,您需要在 vb6 中创建一个包装 dll,或者有时 vb.net 的工作方式取决于使用的类型并引用该 COM dll。 【参考方案1】:

简短的回答是是的[DllImport]导入本机方法的方式。

还有其他的,例如 C++/CLI 包装器或 COM,但它们工作更多,乐趣更少。

【讨论】:

如何处理用于将 MariaDB 连接到 C++ 应用程序的 dll 和 lib 文件?

】如何处理用于将MariaDB连接到C++应用程序的dll和lib文件?【英文标题】:HowcanIdealwithdllandlibfilesforconnectingMariaDBtoC++Application?【发布时间】:2021-04-2603:10:57【问题描述】:我正在尝试将MariaDB与C++应用程序连接起来的项目。我提到... 查看详情

如何从 C# 将窗口句柄传递给 c++ win32 dll

】如何从C#将窗口句柄传递给c++win32dll【英文标题】:howtopasswindowhandletoc++win32dllfromC#【发布时间】:2014-01-2904:28:09【问题描述】:我有一个项目可以从C++中的多个摄像头捕获图像。我想在C#中的新项目中使用该项目。我已经制作... 查看详情

如何从 c++ 项目中调用用 c# 创建的 dll 文件? [复制]

】如何从c++项目中调用用c#创建的dll文件?[复制]【英文标题】:Howtocalldllfilecreatedwithc#fromc++project?[duplicate]【发布时间】:2015-07-1605:09:49【问题描述】:我有一个用c#语言创建的dll文件。我想在c++项目的dll文件中使用用c#语言编写... 查看详情

将不同的表连接到 C# 组合框中的不同项目

...个项目,我正在使用Access文件作为数据库。我试图弄清楚如何从我的访问数据库中的不同表中填充组合框中的项目。我正在使用C#和Access2016。我 查看详情

创建可以从 c# 和 c++ 中使用的 c# dll

...。我已经创建了几个本机c++dll,它们都很好。将本机dll连接到c++和c#很容易。对于c#,我使用P/Invoke执行方法,使用delegate进行回调,我只是将指针传递给非托管内存并使用Mars 查看详情

从 C++ 调用 C# dll

...生C++DLL,我想导入一个C#DLL并使用它的一些功能(例如连接到数据库)。现在我了解到您可以将DLL转换为TLBCOM文件,而且我已经做到了,没有任何问题。我的问题在于C++。要调用该TLB文件,我需要设置CLR支持。我使用themida来帮助... 查看详情

将 C++ DLL 添加到 C# 项目

】将C++DLL添加到C#项目【英文标题】:AddingC++DLL\'stoaC#project【发布时间】:2010-05-2219:02:15【问题描述】:我正在尝试在C#项目中使用来自LAME的lame_enc.dll文件,但添加它似乎是不可能的。我不断收到错误消息,提示无法添加引用,... 查看详情

如何安全地将字符串引用从 c# 传递到 c++?

】如何安全地将字符串引用从c#传递到c++?【英文标题】:Howtosafelypassstringreferencefromc#toc++?【发布时间】:2014-04-0502:36:45【问题描述】:我正在用C++dll项目开发一个C#dll项目。假设C++dll登录到某个网站,并在Web服务器上进行一些... 查看详情

Python在主机程序初始化后连接到C++ dll?

】Python在主机程序初始化后连接到C++dll?【英文标题】:PythonconnecttoaC++dllafterit\'sinitializedbyahostprogram?【发布时间】:2013-08-2718:40:26【问题描述】:宿主程序支持C++插件。C++dll是作为其插件编写的。该插件将在启动时由主机程序... 查看详情

如何从 C++ 端连接到 QML 项目的 onClick 事件

】如何从C++端连接到QML项目的onClick事件【英文标题】:HowtohookuptotheonClickeventofaQMLitemfromC++side【发布时间】:2018-10-1916:21:04【问题描述】:场景:我有一个在Qt5.9.4商业版上运行的Qt应用程序。它是一个基于QtQuick和QML的应用程序,... 查看详情

如何使用域帐户使用 c# 连接到数据库?

】如何使用域帐户使用c#连接到数据库?【英文标题】:HowdoIuseadomainaccounttoconnecttoadatabaseusingc#?【发布时间】:2011-03-3010:00:42【问题描述】:我想使用网站设置项目中的自定义操作创建一个数据库。但是我在“网站设置项目”中... 查看详情

如何将 C++ 非托管 DLL 转换为 C#

】如何将C++非托管DLL转换为C#【英文标题】:HowcanIconvertC++unmanagedDLLtoC#【发布时间】:2019-09-1709:24:09【问题描述】:我在C++中有非托管dll,它工作正常,我尝试用C#重新实现它,但出现以下错误:System.ArgumentException:值不在预期... 查看详情

如何将 xampp 服务器连接到 c# gui 应用程序?

】如何将xampp服务器连接到c#gui应用程序?【英文标题】:Howtoconnecttoaxamppservertoac#guiapp?【发布时间】:2017-06-0718:34:02【问题描述】:所以我试图将一个c#gui应用程序连接到一个xamppsql服务器,代码如下:trystringconnectionString="Server=l... 查看详情

如何使用 OTL ODBC 驱动程序将 C++ 连接到 MySQL?

】如何使用OTLODBC驱动程序将C++连接到MySQL?【英文标题】:HowtoconnectC++toMySQLwithOTLODBCdriver?【发布时间】:2019-08-2121:38:31【问题描述】:我在使用C++上的OTLODBC驱动程序连接到我的MySQL数据库时遇到问题。我正在使用VisualStudio2019,... 查看详情

C#:如何在启用 SSL 的情况下连接到 Active Directory?

】C#:如何在启用SSL的情况下连接到ActiveDirectory?【英文标题】:C#:HowtoconnecttoActiveDirectorywithSSLenabled?【发布时间】:2009-08-0417:54:32【问题描述】:我正在进行的项目将与客户的ActiveDirectory集成,以便对用户进行身份验证。我一... 查看详情

如何将 uint[] c# 传递给 c++ dll?

】如何将uint[]c#传递给c++dll?【英文标题】:howtopassuint[]c#toc++dll?【发布时间】:2021-03-2911:30:02【问题描述】:我正在开发一个与C++DLL通信的C#程序。提供的C++DLL中的结构类型如下:structST_TESTunsignedlong*anIDs;unsignedlonganIDCount;;我为... 查看详情

如何将 vs2008 c++ OpenCV dll 构建到 vs2008 C#?

】如何将vs2008c++OpenCVdll构建到vs2008C#?【英文标题】:Howtobuildvs2008c++OpenCVdlltovs2008C#?【发布时间】:2018-10-0513:55:03【问题描述】:我使用了以下参考:https://drthitirat.wordpress.com/2013/05/30/combine-gui-of-c-with-c-codes/...尝试使用vs2008win32项... 查看详情

如何将 C++ 源文件和头文件添加到 C# .Net 项目? [复制]

】如何将C++源文件和头文件添加到C#.Net项目?[复制]【英文标题】:HowcanIaddC++SourceFilesandHeaderstoaC#.Netproject?[duplicate]【发布时间】:2015-03-1622:05:58【问题描述】:我想将HIDAPI库用于自制USB设备。与其将VC++项目编译成它自己的.dll并... 查看详情