首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要将c++导入c#的解决方案

需要将c++导入c#的解决方案
EN

Stack Overflow用户
提问于 2015-07-23 06:10:28
回答 1查看 62关注 0票数 0

希望有人能给我指明正确的方向。

我在c#上创建了一个名为WindowsFormApplication6的windowsFormApplication (我知道,我很有创造力)。

所以我用谷歌搜索了一下。我发现我需要通过文件将Modbus Server加载到WindowsFormApp中,添加现有项目,并找到并单击该项目。

现在,通过更多的googling搜索,我发现我需要添加对Modbus Server的引用。

所以突出显示WindowsFormApp6,然后右击它,点击add,Reference,Solution,Projects,最后点击Modbus Server。

最后,谷歌说在Windows中我需要写"using Modbus Server;“或"using WindowsFormApplication6.Modbus Server;”,但每次我输入"ModbusServer“时,它都会提示”找不到类型或命名空间名称'ModbusServer‘“(”您是否缺少using指令或程序集引用?“)。

所以现在它看起来像是“使用Modbus服务器”,但它一直在说“预期的”;

EN

回答 1

Stack Overflow用户

发布于 2015-07-23 07:28:18

您的Modbus Server C++项目是否正在生成托管程序集?如果不是,则可能是您的Add引用实际上并没有做任何事情。

如果您的C++项目生成的是本机C++,我认为Add project Reference将不起作用。

但这意味着您必须在执行构建的系统上注册COM对象-通过运行regsvr32 (或任何适合您的COM对象的方法)手动注册,或者在Modbus Server项目中自动注册。

如果Modbus服务器是一个常规的本地C++动态链接库(即,不是COM对象),那么你根本不能通过添加引用来访问它。

一种替代方法是P/Invoke,它允许您向C#描述DLL入口点。

另一种选择是编写一个C++/CLI包装器,它像任何其他C++程序一样调用Modbus Server,但它声明了.NET方法,可以从C#调用这些方法来调用Modbus Server方法。然后,您可以使用Add Reference将C++/CLI包装器项目添加到C#项目中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31574900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档