Как работает модель лицензирования компонентов .Net на основе Licenses.licx? - PullRequest
52 голосов
/ 09 сентября 2008

Я сталкивался с несколькими сторонними поставщиками компонентов .Net, которые используют схему лицензирования. На пробной копии компоненты отображаются с надписью, водяным знаком или каким-либо другим индикатором. На лицензированном компьютере создается Licenses.licx - с просто полным именем / идентификаторами сборки. Этот файл должен быть включен при сборке клиента.

  • Как работает эта модель? Как с точки зрения поставщиков компонентов, так и пользователей.
  • Для чего используется файл .licx? Должен ли он быть зарегистрирован? У нас возникли проблемы с проверкой неверного / правильного файла .licx, а с ошибкой

Ответы [ 3 ]

24 голосов
/ 02 апреля 2010

Это не правильно. Файл licx очень важен и необходим для сборки хост-приложения с правильной информацией о лицензии, встроенной в него. Поэтому очень важно, чтобы файлы licx также были включены в систему контроля версий. В противном случае человек, проверяющий исходный код на другом компьютере, не получит файл licx, и сборка может завершиться с ошибкой или не иметь правильной информации о лицензии для используемых компонентов в exe.

13 голосов
/ 09 сентября 2008

Почти все о лицензировании .Net объясняется здесь . Не надо переписывать, я думаю.

Лучше, если вы можете исключить файлы лицензий из проекта в системе контроля версий. В противном случае редактирование визуальных компонентов может быть проблемой в заднице. Кроме того, хранить файлы лицензий в репозитории исходного кода не нужно.

Надеюсь, это поможет.

10 голосов
/ 01 декабря 2011

Это была хорошая статья на тему: Нажмите здесь

Для развертывания приложения с лицензионными компонентами, такими как TX Text Control, файл EXE должен быть лицензирован надлежащим образом.

Механизм лицензирования .NET рекомендует добавлять лицензии в EXE - вызывающую сборку.

---- Что происходит в деталях?

Если перетащить элемент TextControl из панели инструментов Visual Studio в форму, Visual Studio создаст файл licenses.licx и включит информацию о лицензии. Этот файл находится в той же папке, что и файл вашего проекта.

Внимание! Файл licenses.licx не содержит самой строки лицензии. Он просто содержит информацию о лицензионных компонентах . В случае TX Text Control (TXTextControl.TextControl) добавляется следующая строка:

TXTextControl.TextControl, TXTextControl, Version=15.0.700.500, Culture=neutral, PublicKeyToken=6b83fe9a75cfb638

Как видите, он содержит пространство имен и имя элемента управления, версию сборки, информацию о культуре и уникальный токен открытого ключа. На основании этой информации компилятор лицензий (lc.exe) компилирует строку реальной лицензии, которая будет встроена в исполняемую сборку. Lc.exe - это небольшая утилита .NET Framework SDK, которая используется Visual Studio во время процесса сборки.

---- Что если я использую TX Text Control в пользовательском элементе управления?

В этом случае вам также необходимо добавить лицензию на основной исполняемый файл. Поэтому вы можете просто перетащить TextControl в пустую форму основного проекта, чтобы файл licenses.licx и ссылки были добавлены автоматически.

После этого вы можете снова удалить TextControl из этой формы. Или вы можете просто скопировать или создать файл licenses.licx в основную папку проекта. В этом случае вам также необходимо вручную добавить ссылку на TX Text Control.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...