Использование libnodave.dll в проекте Visual Studio C#C#

Место общения программистов C#
Ответить
Anonymous
 Использование libnodave.dll в проекте Visual Studio C#

Сообщение Anonymous »

Я пытаюсь связаться с ПЛК Siemens, используя libnodave.net.dll

Код: Выделить всё

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);
}
Я новичок в программировании на Visual Studio C#, проект организован в два уровня: проект уровня пользовательского интерфейса и бизнес-проект (здесь у меня есть класс plc для общения). В проекте пользовательского интерфейса (который установлен как проект по умолчанию) я создаю экземпляр класса ПЛК и вызываю метод подключения.
Но как только он пытается открыть сокет, возникает эта ошибка «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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»