希望有人能给我指明正确的方向。
我在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服务器”,但它一直在说“预期的”;
发布于 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#项目中。
https://stackoverflow.com/questions/31574900
复制相似问题