2008-10-14 3 views
7

Я работаю над приложением, которое широко использует C1FlexGrid от ComponentOne. Из десятков, которые мы используем, три не имеют файла license.licx и приводят всплывающее окно демонстрационного всплеска, когда я запускаю приложение.Отсутствует файл license.licx ComponentOne

Есть ли способ определить, какие формы вызывают это поведение. Не имея возможности проверить сотни справочников вручную, я не вижу способа.

ответ

6

Согласно документации Microsoft только для исполняемого элемента требуется лицензия.licx. Коллекции Dll с формами в них все равно будут создавать один, но игнорируются. Это был мой опыт. Я бы предложил открыть каждую форму в представлении дизайнера и перестроить в то же время. Это обычно добавляет любые отсутствующие записи лицензии в license.licx. Однако он не будет обновлять существующие записи. Это может быть проблемой, если вы обновили свои компоненты. Для ComponentOne вы обычно можете редактировать license.licx и удалять информацию о версии после имени сборки. Некоторые другие сторонние компоненты более тонкие, и прикосновение к их информации о версии вызывает ошибки при компиляции.

На мой взгляд, платформа лицензирования .NET является громоздкой и ненужной нагрузкой для разработчиков. Есть гораздо более простые способы обеспечения соблюдения лицензий на компоненты.

+3

ComponentOne выпустил утилиту, которая удаляет информацию о версии из всех ваших файлов license.licx для вас: http://helpcentral.componentone.com/CS/general/b/general_blog/archive/2011/02/11/ c1projectupdater-utility.aspx – 2011-04-29 20:45:59

2

Вам не нужно открывать форму. Каждый проект имеет один файл license.licx. Просто убедитесь, что C1FlexGrid указан в этих файлах, а затем выполните полную перестройку (Build | Rebuild All).

Это должно позаботиться о проблеме.

0

Иногда открытие форм и восстановление всего решения даже не срабатывает. Так в этой ситуации. Просто перетащите элемент управления ComponentOne из панели инструментов в форму (вы можете удалить ее впоследствии). Это перетаскивание автоматически создаст license.licx в папке «Свойства».