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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.08.2014, 12:26   #1  
user_ax is offline
user_ax
Участник
Аватар для user_ax
 
599 / 39 (3) +++
Регистрация: 07.10.2012
Адрес: ZP
Запуск class library - возможен ли
Добрый день, уважаемое сообщество.
Решил повторить пример из книги Inside AX 2012 , в котором с помощью visualStudio заполняется таблица Dax (customersfromExcel).
Сделал проект C#-> class Library, добавил в него созданную таблицу, чтобы создался proxy-класс. Добавил проект в АОТ, задеплоил проект из VS.
Пишу тестовый джоб для запуска моего кода в аксапте - не работает.
Пытаюсь произвести отладку из-под VS - мне выдаёт ошибку:

Нашёл на stackoverflow некоторые интересные подсказки наподобии: Set as startup Project(http://stackoverflow.com/questions/1...arted-directly). Однако это не помогло.
Примечание в книге гласит, что работать всё должно и так, однако студия мне говорит, что нужен выполняемый код, к которому я привяжу эту библиотеку классов.
Пример кода начинается в Главе III Microsoft Dynamics AX и .NET со страницы 127.
Буду признателен за любую помощь, подсказку!
Спасибо!

dax2012 r3, visual studio 2010.
Изображения
 

Последний раз редактировалось user_ax; 12.08.2014 в 12:41.
Старый 12.08.2014, 14:00   #2  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Для запуска нужен исполняемый файл, в котором есть точка входа и на основании которого винда создаст новый процесс. В библиотеке классов нет точки входа с т.з. создания нового виндового процесса, поэтому для их отладки в общем случае нужно какое-то отдельное приложение-заглушка (обычно консольное), которое бы создавало экземпляры нужных классов и как-то их дергало. Об этом, собственно, и пишется в сообщении на скриншоте.
Старый 12.08.2014, 14:34   #3  
user_ax is offline
user_ax
Участник
Аватар для user_ax
 
599 / 39 (3) +++
Регистрация: 07.10.2012
Адрес: ZP
То есть, мне нужно создать ещё одно консольное приложение в этом же solution-е и в static методе main вызвать мой класс::метод ?
Старый 13.08.2014, 21:13   #4  
user_ax is offline
user_ax
Участник
Аватар для user_ax
 
599 / 39 (3) +++
Регистрация: 07.10.2012
Адрес: ZP
А если в этом же проекте сделать ещё один класс со статическим методом main и из этого метода запускать уже мой метод ??
Спасибо.
Старый 13.08.2014, 23:26   #5  
Omeo is offline
Omeo
Участник
 
129 / 50 (2) ++++
Регистрация: 18.03.2004
Адрес: Moscow
Цитата:
Сообщение от user_ax Посмотреть сообщение
То есть, мне нужно создать ещё одно консольное приложение в этом же solution-е и в static методе main вызвать мой класс::метод ?
если я правильно все понял достаточно в проекте указать вместо стандартного запуска запуск клиента Ax. Это в разделе Debug в свойствах проекта

потом уже в самом клиенте запустить job
Старый 14.08.2014, 11:02   #6  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от user_ax Посмотреть сообщение
Сделал проект C#-> class Library, добавил проект в АОТ, задеплоил проект из VS. Пишу тестовый джоб для запуска моего кода в аксапте - не работает.
Вот с этого бы места поподробнее...
Цитата:
Сообщение от user_ax Посмотреть сообщение
А если в этом же проекте сделать ещё один класс со статическим методом main и из этого метода запускать уже мой метод?
Это в Аксапте для запуска класса из АОТ или через пункт меню достаточно наличия статического метода с именем main, а в виндах для самостоятельного запуска исполняемый файл должен иметь в PE-заголовке определенные флаги и указанное смещение точки входа . Компоновщик их прописывает в выходной файл только для некоторых типов проектов, к которым ClassLibrary не относится.
Цитата:
Сообщение от Omeo Посмотреть сообщение
если я правильно все понял достаточно в проекте указать вместо стандартного запуска запуск клиента Ax, потом уже в самом клиенте запустить job
А что даст запуск клиента AX из-под Visual Studio? Запустить его и так можно, а отлаживать таким образом классы C# - это, по-моему... не самый прямой путь.
Старый 14.08.2014, 11:04   #7  
Omeo is offline
Omeo
Участник
 
129 / 50 (2) ++++
Регистрация: 18.03.2004
Адрес: Moscow
Цитата:
Сообщение от gl00mie Посмотреть сообщение
А что даст запуск клиента AX из-под Visual Studio? Запустить его и так можно, а отлаживать таким образом классы C# - это, по-моему... не самый прямой путь.
это похоже на то как происходит отладка ActiveX - запускается не сам проект ActiveX а контейнер (по сути клиент), который загружает нужные объект
Старый 14.08.2014, 12:07   #8  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
В сообщении об ошибке в начале темы об этом же и речь, мол, добавьте в solution "контейнер" и его уже запускайте, однако, по-моему, клиента АХ сложнее отлаживать из-под VS, чем специально обученное консольное .NET-приложение, которое сразу дернет нужный класс.
Теги
c#, class library, visual studio

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: Get started with AX 2012 R3! Blog bot DAX Blogs 0 05.05.2014 09:11
ax-erp: Walkthrough: Creating a Report Bound to a Report Data Provider Class (X++ Business Logic) [AX 2012] Blog bot DAX Blogs 0 20.09.2012 11:11
emeadaxsupport: New Content for Microsoft Dynamics AX 2012 : October 2011 Blog bot DAX Blogs 0 27.10.2011 17:11
daxline: Futures class in Dynamics AX Blog bot DAX Blogs 0 22.08.2011 23:11
Kashperuk Ivan: List panels in Dynaics AX - a short description of SysListPanel class Blog bot DAX Blogs 1 21.10.2007 22:51

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

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

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