我在.Net中使用了.Net Modbus。当我运行应用程序时,在为MbusTcpMasterProtocol创建对象时会出现错误。
MbusTcpMasterProtocol mbusProtocol =新MbusTcpMasterProtocol();
错误是:
本机DLL libmbusmaster.dll丢失!请将DLL文件部署到与mbusmaster.net.dll相同的目录中。
我在项目中添加了libmbusmaster.dll作为"ExistingItem“,mbusmaster.net.dll作为项目的参考。
发布于 2015-03-27 13:39:00
将"libmbusmaster.dll“添加到项目中并不会将其添加到"mbusmaster.dll”所在的文件夹中。您指定的mbusmater.dll位于“调试”文件夹中。当您将"libmbusmaster.dll“添加到项目中时,可能会将其添加到项目的根文件夹(而不是调试中)。要将其添加到调试中,请转到解决方案中的"libmbusmaster.dll“属性,并选择”始终复制“或”复制(如果更新)“。
发布于 2018-05-24 19:19:49
mbusmaster.net.dll使用相对dll导入[DllImport("libmbusmaster.dll")]。
这意味着它将尝试从条目程序集所在的位置加载libmbusmaster.dll,而不是从mbusmaster.net.dll位于的位置加载。
对于大多数程序,条目程序集路径和mbusmaster.net.dll路径将是相同的。但是,如果您有一个应用程序,比如从其他文件夹加载插件,并且插件使用这些程序集,则插件必须使用描述为SetDllLocation的here技术。
https://stackoverflow.com/questions/29300805
复制相似问题