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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.11.2007, 12:53   #1  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Thumbs up Dynamics и .net (Dot net rocks)
Давеча немного по разбирался, как же все таки пользовать .net c DAX. Прилагаю свои исследования на эту тему. С версии 4.0 можно использовать внешний код, то есть теперь не весь код может храниться в репозитарии, как это было в предыдущих версиях.
Для начала создаем тестовый проект на C# в vs 2005. Обзовем его MyFirstCLR.
Находим в solution explorer UnitTest1.cs. Меняем код на наш
Код:
namespace MyFirstCLR
{

    public class MyClass
    {
        public string sayRocks()
        {
            return "Dot net rocks!";
        }

        public int average(int a, int b)
        {
            return (a + b)/2;
        }
    }

}
Жмем на MyFirstCLR в контекстном меню build. Находим скомпиленную dll (по умолчанию она кладется в bin\Debug). Переносим MyFirstCLR.dll и MyFirstCLR.pdb в директорию Dynamics. Рекомендуется при многопользовательской работе класть в \%winnt%\assembly. В нашем случае упростим задачу и перенесем в C:\Program Files\Microsoft Dynamics AX\40\Client\Bin.
Далее в Dynamics в узле references создаем ссылку на нашу сборку (assembly).
Это кнопка обзор, находим нашу dll и жмем ок. Появляется ссылка MyFirstCLR.
Далее создаем задание (job)
X++:
static void MyFirstCLR(Args _args)
{
    MyFirstCLR.MyClass  mc;
    str                 s;
    int                 res;
    ;
    mc = new MyFirstCLR.MyClass();
    s = mc.sayRocks();
    print  s;
    res = mc.average(20,22);
    print  res;
    pause;
}
Старый 23.11.2007, 13:31   #2  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от MikeR Посмотреть сообщение
Переносим MyFirstCLR.dll и MyFirstCLR.pdb в директорию Dynamics. Далее в Dynamics в узле references создаем ссылку на нашу сборку (assembly). Это кнопка обзор, находим нашу dll и жмем ок.
А что будет, если не переносить pdb-файл?..
Старый 23.11.2007, 13:40   #3  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
C ним
так понял можно обрабатывать ошибки

Последний раз редактировалось MikeR; 23.11.2007 в 13:43. Причина: add
Старый 23.11.2007, 13:54   #4  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
pdb содержит информацию для отладки. Если его не переносить, то при багах в стектрейсе не будет номеров строк
Старый 23.11.2007, 14:07   #5  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от belugin Посмотреть сообщение
pdb содержит информацию для отладки.
да это-то понятно
Цитата:
Сообщение от belugin Посмотреть сообщение
Если его не переносить, то при багах в стектрейсе не будет номеров строк
дело в том, что pdb может содержать куда больше, чем номера строк: информацию об открытых и закрытых функциях и переменных, информацию о типах. Эта информация может использоваться при отладке? Нужен ли pdb-файл для работы IntelliSence?
Старый 23.11.2007, 14:09   #6  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Информация о типах в .net доступна и так через reflection
Не нужен.
Старый 06.06.2014, 14:13   #7  
kalex_a is offline
kalex_a
Участник
Аватар для kalex_a
Самостоятельные клиенты AX
MCBMSS
 
160 / 19 (1) ++
Регистрация: 26.11.2007
Адрес: Казахстан
Здравствуйте.
Добавил свою сборку в references. Работает отлично.
НО после перегрузки Аксапты добавленная сборка пропадает.
В чем может быть проблема?
__________________
Лучше сделать и жалеть, чем жалеть что не сделал
Старый 10.06.2014, 11:27   #8  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1293 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Цитата:
Сообщение от kalex_a Посмотреть сообщение
НО после перегрузки Аксапты добавленная сборка пропадает.
Какая у Вас версия DAX?
Старый 11.06.2014, 13:22   #9  
kalex_a is offline
kalex_a
Участник
Аватар для kalex_a
Самостоятельные клиенты AX
MCBMSS
 
160 / 19 (1) ++
Регистрация: 26.11.2007
Адрес: Казахстан
Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
Какая у Вас версия DAX?
AX 4.0
__________________
Лучше сделать и жалеть, чем жалеть что не сделал
Старый 11.06.2014, 16:26   #10  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Была такая бага в четверке. Смотрите обновления, и настройку компоненты BC.
__________________
Axapta book for developer
Старый 11.06.2014, 19:56   #11  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1293 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Цитата:
Сообщение от kalex_a Посмотреть сообщение
AX 4.0
Да, в ней была эта проблема. Было давно, поэтому не подскажу какое именно исправление её пофиксело. Так что придется искать просто самые последние версии.
Старый 12.06.2014, 06:28   #12  
kalex_a is offline
kalex_a
Участник
Аватар для kalex_a
Самостоятельные клиенты AX
MCBMSS
 
160 / 19 (1) ++
Регистрация: 26.11.2007
Адрес: Казахстан
Если кому интересно.
После поисков в интернете, нашел вот что:

Для этого необходимо иметь лицензию Web MorphX Development Suite. (У нас такой лицензии нет).
Но можно обойти так:
1. Добавить сборку.
2. Экспортировать в XPO.
3. Импортировать XPO.

Все, сборка не пропадает.
Но потом она и не удаляется почему то ))).

Еще был описан вариант с добавлением на другой слой, но пока им не заморачивался.
__________________
Лучше сделать и жалеть, чем жалеть что не сделал
Теги
.net, assembly, x++

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Arijit Basu: DAX 4.01 .NET Business Connector: Microsoft.Dynamics.BusinessConnectorNet Blog bot DAX Blogs 3 30.09.2008 01:17
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Inside Dynamics AX 4.0: Working with the .NET Business Connector Blog bot DAX Blogs 0 04.10.2007 05:15
Dynamics AX: .Net Adapter and why? Blog bot DAX Blogs 0 26.06.2007 02:54
Dynamics AX: ASP.Net and the Dynamics AX .net BC Blog bot DAX Blogs 0 05.06.2007 02:28

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 05:30.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.