RSS Подписка на статьи RSS Подписка на комментарии Панель инструментов

Блог профессионалов стал частью сайта технической поддержки DocsVision http://support.docsvision.com. Новые материалы будут появляться уже на этом сайте.

Поиск

Ярлыки

авто генерация кода (1) Администрирование DocsVision (60) Атрибутивный поиск (3) База данных (24) Базы знаний (1) Безопасность (1) Бизнес-процессы (20) Блог (2) Вы увидите это первыми (1) Групповые политики (1) Диаграммы (2) Задания (2) Интеграция (2) Карточки DocsVision (14) Конструктор Решений (11) Маркетинг и продажи (4) Навигатор (3) Новое (3) Новости (32) Опрос (4) Опросы DocsVision (4) Оптимизация (3) Отчеты (2) Ошибки (1) Поддержка (14) Полезные ссылки (1) Представления (4) Производительность (5) Разбор полетов (18) Разработка для Workflow (7) разработка карточек (2) Разработка на платформе DocsVision (41) Разработка решений (43) Расширение платформы (1) Расширенные отчеты (9) Решения на платформе DocsVision (6) Сервисы DocsVision (3) Сканеры (3) Справочник сотрудников (1) Справочник типов (1) Установка (1) Утилиты (13) Шлюз в SharePoint (8) Штрихкод (2) Cкрипты карточек (7) DocsVision внутри (1) DocsVision Live (1) FileStream (1) FireFox (2) Opera (1) Powershell (5) Safari (1) SharePoint2007 (1) SharePoint2010 (2) Silverlight (1) UltraViews (1) Vista (1)

Разработка карточек: как бороться с гуидами и прочими строковыми константами

Добрый день!


Эта заметка предназначена для тех, кто пишет код для работы с данными карточек DV с помощью объектной модели, предоставляемой платформой (сборка DocsVision.Platform.ObjectManager.dll).
Практически сразу разработчик сталкивается с необходимостью искать в документации или с помощью утилиты CardManager какие-то непонятные гуиды и прочие строковые константы, используемые в описании карточки. Естественно, эти строки оформляются как константы и т.д., но за актуальностью значений приходится следить, опечатки обнаруживаются только на этапе тестирования (а хотелось бы при компиляции).
Очевидно, с этими трудностями когда то столкнулись и разработчики DV и чтобы облегчить свое существование разработали инструмент, генерирующий удобную объектную модель для доступа к константам описания карточки. Этот инструмент можно использовать из командной строки или интегрировать в MS Visual Studio версии 8.0 - 10.0. После этого про гуиды можно больше не вспоминать!

Пример файла, сгенерированного с помощью этого инструмента можно найти в проекте, предоставляемом вместе с руководством разработчика (например, Samples\Cards\TestCardLib\Test\Constants\TestCard.cs)

Для запуска из командной строки надо воспользоваться командой
ConstGenerator.exe /i:YourCard.xml

Список параметров командной строки можно посмотреть запустив генератор с ключом /?:
ConstGenerator.exe /?

Для интеграции с MS VS надо зарегистрировать сборку с помощью команды regasm:
regasm ConstGeneratorTool.dll /codebase

После этого надо добавить в проект файл с описанием карточки и указать в поле CustomTool значение DVConstGenerator:


Генерация будет выполняться автоматически при сохранении файла с описанием карточки или по команде контекстного меню RunCustomTool :


Скачать генератор констант можно тут

PS. Эта тема уже освещалась в блоге: http://dvprofessionals.blogspot.com/2009/11/blog-post.html но, к сожалению, осталась незамеченной ...
Кроме того, в новой версии генератора констант добавлена регистрация в 10-й студии.
Читать дальше

7 коммент.:

Mark комментирует...

Просит библиотеки DV 5.0

Mark комментирует...

Unexpected error!

Could not load file or assembly 'DocsVision.Platform.Xml.Schemas, Version=5.0.0.
0, Culture=neutral, PublicKeyToken=7148afe997f90519' or one of its dependencies.
The system cannot find the file specified.

Use the debug switch to see stacktrace
Exiting ...

Михаил Захаров комментирует...

В утилите ссылки на библиотеки пятерки. Выложена правильная версия. Ссылку в статье поправил

Mark комментирует...

К сожалению опять не удалось воспользоваться утилитой.

Строка запуска:
cmd /k c:\ConstGenerator\ConstGenerator.exe /i:{B534B04D-04BB-47A5-9C2F-7E05DCF05BA3}.xml /l:CS

Результат:
Unexpected error!

Could not load file or assembly 'DocsVision.Platform.Xml.Schemas, Version=5.0.0.
0, Culture=neutral, PublicKeyToken=7148afe997f90519' or one of its dependencies.
The system cannot find the file specified.

Use the debug switch to see stacktrace
Exiting ...

Mark комментирует...

.assembly extern DocsVision.Platform.Xml.Schemas
{
.publickeytoken = (71 48 AF E9 97 F9 05 19 ) // qH......
[b].ver 5:0:0:0[/b]
}

Время прошло и ничего не изменилось.

На самом деле существует два очевидных решения:
1) Добавить в архив
DocsVision.Platform.Xml.Schemas версии 5.0
2) Дать ссылку на ConstGenerator для версии 4.5, если такой существует

ПС: замена ссылки в проекте на 4.5 не является решением.

Unknown комментирует...

Миша, день добрый, а версия для 4.1 случаем нигде не завалялась?

Михаил Захаров комментирует...

Катя, есть конечно, но к нему еще лицензию нужно. Напиши мне на почту.

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