Добрый день!
Читать дальше
Эта заметка предназначена для тех, кто пишет код для работы с данными карточек 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 коммент.:
Просит библиотеки DV 5.0
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 ...
В утилите ссылки на библиотеки пятерки. Выложена правильная версия. Ссылку в статье поправил
К сожалению опять не удалось воспользоваться утилитой.
Строка запуска:
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 ...
.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 не является решением.
Миша, день добрый, а версия для 4.1 случаем нигде не завалялась?
Катя, есть конечно, но к нему еще лицензию нужно. Напиши мне на почту.
Отправить комментарий