2016-01-20 1 views
-1

У меня VB.net 2010 и Cplex 12.5 установлены на моем ноутбуке. Я получил консольное приложение, которое вызывает cplex для моделирования и решения проблемы. Это приложение работает без проблем.вызов Cplex внутри vb.net

Я создаю другое новое консольное приложение, и я скопирую все содержимое первого приложения в новое. Я добавляю все ссылки так же, как в первом файле, но новое приложение выдает следующее сообщение об ошибке:.

«была сделана попытка загрузить программу, имеющую неверный формат (Исключение из HRESULT: 0x8007000B)»

ошибка в этой строке:

dim cplex as new Cplex() 

что здесь проблема?

ответ

0

В вашей IDE щелкните по "My Project", а затем слева на второй вкладке «Compile».

Prefer "32 Bit" проверено? Если нет, проверьте его.

-Центральный процессор должен быть AnyCPU.

.Net Framework - вы установили его в ту же версию .NET Framework?

ли вы написать

Option Strict on 

и Option Infer Off в ваш код ?.

+0

Я проверял. Оба используют одну и ту же инфраструктуру .net. В обоих приложениях опция strict отключена. сменив его на результаты во множестве ошибок (в обоих) –

0

Исключение указывает, что новая конфигурация 32/64 бит приложения не соответствует библиотеке, которую вы вызываете, скорее всего, в библиотеке CPLEX. Сравните конфигурацию нового приложения со старым. Щелкните правой кнопкой мыши по решению в обозревателе решений и выберите Configuration Manager .... Выберите конфигурацию в раскрывающемся списке в верхнем левом углу. Обратите внимание на платформу, выбранную для вас проектом. Это должно соответствовать любым библиотекам, которые вы вызываете.

+0

, пожалуйста, вы мне посоветовали мне проверить конфигурацию 32/64 бит? Когда я нажимаю правой кнопкой мыши на решении, нет «менеджера конфигурации». Существует опция «свойства», которая открывает свойства проекта. Я проверил все потоки в окне свойств для двух приложений, и они все одинаковы. Я думаю, проблема в том, что в новом приложении мне нужно обратиться к лицензионному ключу моей установки CPLEX. но я не знаю, как это сделать. –

+0

Configuration Manager - это пятый элемент моего VS. Диспетчер конфигурации указан в раскрывающемся списке, расположенном на панели инструментов рядом с кнопкой * Пуск *? – JerryM

+0

Если у вас есть Windows 8 или 10, диспетчер задач укажет 32-разрядные приложения на вкладке Процессы. Запустите старое (рабочее) приложение, чтобы увидеть, включено ли * (32 бит) * в имя приложения. – JerryM