Код: Выделить всё
public void Connect()
{
_connected = false;
_error = string.Empty;
string ipAddress = _plcIp + '\0';
IntPtr ipPtr = Marshal.StringToHGlobalAnsi(ipAddress);
_fds.rfd = libnodave.openSocket(102, "192.168.1.100");
_fds.wfd = _fds.rfd;
if (_fds.rfd > 0)
{
_fdi = new libnodave.daveInterface(_fds, "IF1", 0, daveProtoISOTCP, daveSpeed187k);
_fdi.setTimeout(500);
int error = _fdi.initAdapter();
if (error == 0)
{
_fdc = new libnodave.daveConnection(_fdi, 0, _plcRack, _plcSlot);
error = _fdc.connectPLC();
}
_connected = error == 0;
if (!_connected)
{
_error = daveStrerror(error);
}
}
Marshal.FreeHGlobal(ipPtr);
}
Но как только он пытается открыть сокет, возникает эта ошибка «System.BadImageFormatException». : 'Tentativo di caricare un programma con un format not corretto (0x8007000B)'", что означает попытку загрузить программу с недопустимым форматом.
libnodave.net.dll находится внутри файла. проект, и в моем пути к exe у меня также есть базовая dll libnodave.
Что я делаю не так?
Подробнее здесь: https://stackoverflow.com/questions/789 ... rp-project
Мобильная версия