AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.03.2023, 02:49   #10  
alicedr is offline
alicedr
Участник
 
175 / 43 (2) +++
Регистрация: 06.07.2012
Адрес: Канада
У меня аналогичная ситуация с AX2012CU13. Есть:
а) своя библиотека "MyDll" написанная для .Net 4.5.2, которая использует библиотеки:
б) Newtonsoft 6.0.8 под .Net 4.5
в) и еще одну, SDK под .Net 4.5.2, назовем ее SDKDll

Все три библиотеки:
1) скопированы в папку C:\Program Files (x86)\Microsoft Dynamics AX\60\Client\Bin
2) скопированы в папку C:\Program Files\Microsoft Dynamics AX\60\Server\MyDEV\bin
3) добавлены в GAC (практика показывает что этот шаг необязателен)
4) перегрузка АОСа с очисткой AUC файлов.
5) добавлены в АОТ как референс. Пробовали добавлять выбирая из списка, выполняя "Browse" и выбирая библиотеку в папке клиента/или в папке сервера
6) создаем новый джоб в АОТ, начинаем писать Newtonsoft, и видим что Аксапта видит библиотеку.
7) создаем новый джоб в АОТ, начинаем писать MyDll, и ничего.
8) при попытке скомпилировать переменную использующую референс на MyDll, получаем ошибку "Variable MyDll has not been declared."

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

На сервере где библотека не опознается, пробовали следующее:
- обновить .net до версии 4,7,2
- обновить .net до версии 4,8
- установить VS redistributable package
- установить VS Studio 2013 Update 4
- установить MS Dynamics VS Tools
- перегрузка сервера
- очистка папки XPPIL и последующий full CIL
- полная компиляция через axcompile и из АХ клиента
- полный СИЛ
- синхронизация базы данных
- перенос проекта с библиотекой в Визуал Студию 2013 из более поздней версии и создание библиотеки из VS2013.
- VS2010 не поддерживает .net 4.5.2 и мы просто не сможем использовать имеющийся SDK
- использование подписанной и неподписанной библиотеки (strong name)
- использование фукции hot-swap для библиотек в настройках АХ сервера

Воз и ныне там.

Наблюдения:
1) На одном из старых серверов в папке клиента и сервера не было библиотеки Newtonsoft. Достаточно было ее скопировать в вышеуказанные папки, добавить референс в АОТ и она моментально стала доступной в коде.
2) Также мы нашли версию "MyDll.dll" написанную несколько лет назад. Исходный код затерялся. Так вот эта библиотека становится видимой так же как и Newtonsoft. Сравнение этой старой версии и новой версии в VS Object browser не показало никаких видимых различий. Target .Net framework для обоих библиотек = 4.5.2

Вопросы:
1) ?????
2) что нужно сделать чтобы библиотека стала видимой для компиляции?
3) что не хватает библиотеке (или что лишнее) чтобы она мгновенно опознавалась Аксаптой, как Newtonsoft?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Axilicious:AX2012 DLL Deployment and how AX binds DLL’s at runtime Blog bot DAX Blogs 0 22.05.2013 20:13
Ax3 and Win2008 для печати Arahnid DAX: Администрирование 13 22.04.2013 17:07
MSDAX 4.0 и планировщик win server 2008 werov2010 DAX: Администрирование 11 16.08.2012 14:18
Загруженая dll на C# не выгружается DmitryK DAX: Программирование 5 09.04.2012 11:15
при вызове функции из своей DLL, вылетает ошибка Delfins DAX: Программирование 9 07.03.2006 19:29

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 12:49.