Вопрос

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

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

Это было полезно?

Решение

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

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

Другие советы

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

Это должно решить проблему.

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

У ComponentOne есть служебная программа, которая (повторно) сгенерирует файл licenses.licx для существующего проекта.

Исходная статья: https://www.grapecity.com/blogs/licensing-and-licenses-licx-file-licxgenerator-tool

Инструкции:

Инструмент LicxGenerator

К счастью, [генерация файла license.licx] может быть автоматизирована, и большое спасибо нашему клиенту Дому Синклеру за вдохновение.Инструмент [ссылка ниже] LicxGenerator создает файл license.licx с записями информации о лицензии для всех элементов управления, найденных по указанному пути.Если вы запустите его, он попросит вас найти папку binaries, а затем поместить созданный файл по тому же пути.Если вам нужно больше контроля, вы можете запустить его с помощью параметров командной строки.Вы также можете запускать его с другими автоматизированными задачами.

Использование:

LicxGenerator [-r] [-p prefix] [-s] [sourcePath] [outputPath]

Параметры:

  • -r :Для рекурсивного поиска во вложенных папках;

  • -p :Выполняйте поиск только в файлах, имена которых начинаются с указанного префикса;

  • -s :Бесшумный режим.

Если оба sourcePath и -s параметр не указан, программа будет показать диалоговое окно выбора папки.Если outputPath не задано, оно будет таким же, как sourcePath ценность.

Чтобы сгенерировать файл licenses.licx для вашего проекта:

  1. Сначала создайте свой проект, чтобы выходная папка содержала все двоичные файлы;

  2. Запустите LicxGenerator, указав путь к выходной папке проекта;

  3. Возьмите сгенерированный файл license.licx и добавьте его в проект.

Этот бесплатный инструмент сэкономит вам много времени на изучение вопросов лицензирования .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top