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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.06.2010, 20:57   #1  
Hyper is offline
Hyper
Участник
Соотечественники
 
163 / 29 (1) +++
Регистрация: 09.10.2003
:( Enterprise Portal, создание user control'а
Enterprise Portal в AX2009, пытаюсь создать новый user control согласно файлу справки "How to: Create User Controls".
Оговорюсь при этом, что с изменением существующих контролов (к примеру EPPurchTableEdit) проблем не было.

Так вот, создаю новый контрол в Visual Studio, сохраняю, устанавливаю в EP, создаю web page, добавляю в нее web part с моим контролом, после этого при попытке захода на эту страницу выдает следующую ошибку, страница не грузится.

Код:
An unexpected error has occurred.

System.Web.HttpParseException: The directive 'control' is unknown. ---> System.Web.HttpParseException: The directive 'control' is unknown. ---> System.Web.HttpException: The directive 'control' is unknown. 
   at System.Web.UI.TemplateParser.ProcessError(String message) 
   at System.Web.UI.TemplateParser.ProcessDirective(String directiveName, IDictionary directive) 
   at System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding) 
   --- End of inner exception stack trace --- 
   at System.Web.UI.TemplateParser.ProcessException(Exception ex) 
   at System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding) 
   at System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding) 
   --- End of inner exception stack trace --- 
   at System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding) 
   at System.Web.UI.TemplateParser.ParseFile(String physicalPath, VirtualPath virtualPath) 
   at System.Web.UI.TemplateParser.ParseInternal() 
   at System.Web.UI.TemplateParser.Parse() 
   at System.Web.Compilation.BaseTemplateBuildProvider.get_CodeCompilerType() 
...
и так далее

Думал, проблема в моем коде. Взял один из стандартных контролов, код скопировал в новый, поменял шапки и название класса, чтобы совпадало с названием контрола, установил в EP - та же ошибка. В конце концов по максимуму очистил код, оставил только шапку в ascx и class definition в ascx.cs, установил в EP - та же ошибка.

В EP точно все обновляется (мониторю файлы в "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS\ep\"), и проблема в кэше, и в интернете ничего полезного по поводу этой ошибки тоже не обнаружил.

Подскажите, куда смотреть? Что сделать, чтобы новый контрол не давал ошибки в EP?
Старый 10.06.2010, 12:39   #2  
t540 is offline
t540
Участник
 
34 / 65 (3) ++++
Регистрация: 09.07.2003
А какая операционная система установлена на сервере с EP?
У нас получилось заставить работать (иногда) новые user object'ы только на Windows Server 2003 32 bit. Новые user object'ы точно не деплоятся стандартными средствам на 64 битных платформах.
Старый 10.06.2010, 12:57   #3  
Hyper is offline
Hyper
Участник
Соотечественники
 
163 / 29 (1) +++
Регистрация: 09.10.2003
Windows Server 2008 SP2 64 bit

А в чем разница, новый объект деплоить или измененный?
Web Control и Managed Content Item в AOT добавили. Дальше идем по аналогии со стандартными контролами. Изменили в Visual Studio, сохранили, задеплоили - проверяем в EP.

Или я что-то упускаю?
Старый 10.06.2010, 13:07   #4  
t540 is offline
t540
Участник
 
34 / 65 (3) ++++
Регистрация: 09.07.2003
Софтинка, которая переносит объект на портал 32 битная. На 64 битах не работает.
Старый 10.06.2010, 13:44   #5  
Hyper is offline
Hyper
Участник
Соотечественники
 
163 / 29 (1) +++
Регистрация: 09.10.2003
Проблема решена! В следующем посте напишу как.

А по поводу операционки: я знаю, что Administration > Setup > Internet > Enterprise Portal > Manage deployments на 64-битке не работает, и надо вместо этого использовать AxUpdatePortal.exe
Однако сейчас я не совсем понимаю, что именно эта операция выполняет. Потому что если мне надо задеплоить объект, я кликаю правой кнопкой мыши на \Web\Web Files\Web Controls, выбираю Deploy - и все моментально появляется в EP. AxUpdatePortal вроде ничего не деплоит, все надо делать из AOT. Что же этот AxUpdatePortal, собственно, делает?
Старый 10.06.2010, 14:02   #6  
Hyper is offline
Hyper
Участник
Соотечественники
 
163 / 29 (1) +++
Регистрация: 09.10.2003
Red face Рассказываю, в чем была проблема
Итак, в Visual Studio создали Dynamics AX User Control (файлы, скажем, foo.ascx и foo.ascx.cs), сделали Add to AOT.
В AOT появился Web Control, но свойство Filename у него было пустым. Не знаю, нормальное ли это поведение, или оно обусловлено спецификой данной конфигурации, наличием TFS или еще чем-то. И вот это свойство Filename в AOT по ошибке установили в foo.aspx вместо foo.ascx. Опечатку было сложно заметить, потому что имя файла было длинным, а разница всего в один символ.
Ну и так как aspx - это расширение для скриптов ASP.NET, портал спотыкался на первой же строчке:
Код:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="foo.ascx.cs" Inherits="foo" %>

Такая вот получилась ерунда: в Visual Studio расширение ascx, а для EP Аксаптой создавался файл с расширением aspx. Как только свойство Filename поправили и сделали повторный деплоймент, все заработало. Ну и на всякий случай еще удалили сам файл aspx, так как Аксапта его сама не удалила.
Старый 08.09.2010, 12:32   #7  
igorian is offline
igorian
Участник
 
59 / 12 (1) ++
Регистрация: 01.06.2004
а возможно на аксаптийном портале использование каких-нибудь сложных контролов, ну например реализация деревьев... вот например как тут

http://www.microsoft.com/Businesssol...&lang=en&cr=US
Теги
enterprise portal

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: Dynamics User Control is shown as hidden in Dynamics Ax 2009 Enterprise Portal Blog bot DAX Blogs 0 13.05.2010 01:05
Solutions Monkey: X++ based Web User Interface is discontinued in the next version of Microsoft Dynamics AX Enterprise Portal Blog bot DAX Blogs 0 20.08.2009 08:05
Enterprise Portal - Создание Заказа Finnsky DAX: Функционал 9 27.08.2008 14:07
Solutions Monkey: Enterprise Portal Screencasts at Channel9.msdn.com Blog bot DAX Blogs 6 01.07.2008 19:38
jinx: Microsoft Dynamics AX 2009 Enterprise Portal Entwicklung Samples Blog bot DAX auf Deutsch 0 27.06.2008 04:06

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

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

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