пятница, 18 сентября 2015 г.

NinjaTrader 7. "Невозможно загрузить файл или сборку..." при использовании своей библиотеки.


Занимался разработкой сигнального сервиса. Вся работа на получение и отправку сообщений легла в отдельную .dll. На чарте висит индикатор, который подключает эту .dll и через нее отправляет информацию о сделках.

Сигналы отправлялись нормально, но получать библиотека ничего не хотела. Вываливалась с исключением "Невозможно загрузить файл или сборку..." и ссылалась на имя моей библиотеки. Я долго не понимал, как это так. Сама библиотека внутри себя ищет себя же... И при этом не может найти. Писал в поддержку нинзи, на что получил ответ, что ваша библиотека закрыта и ее сложно отладить... :) Начал копаться сам и нашел следующее: когда я в индикаторе использую библиотеку, то NinjaTrader грузит ее из папки "C:\Users\[UserName]\Documents\NinjaTrader 7\bin\Custom\", но когда в этой библиотеке вызывается определенный код, то NinjaTrader ищет эту библиотеку в папке "С:\Program Files (x86)\NinjaTrader 7\bin64\".
Вывод:
1. Удалить библиотеку в папке "C:\Users\[UserName]\Documents\NinjaTrader 7\bin\Custom\"
2. Скопировать библиотеку в папку "С:\Program Files (x86)\NinjaTrader 7\bin64\"

Все работает.

Комментариев нет:

Отправить комментарий