Как лицензии.используется файл licx-это

У меня есть лицензии.файл licx, который включен в одно из свойств моих проектов. Я не уверен, как это используется его DLL. Используется ли он msbuild? Вы знаете, как он используется, когда решение строится?

3 ответов


Так как вы указываете, что StellarEleven ответ не помогает, я думаю, вы ищете что-то еще проще. Это, вероятно, не 100% правильно, но это мое понимание того, как это работает:

файл licx-это просто список "лицензированных" компонентов, используемых вашим приложением.

каждая строка в файле имеет следующий формат:

[Component Name], [Assembly Name]

например, один из моих проектов использует лицензионный компонент IP Works NetDial, поэтому мой .файл licx содержит следующую строку:

nsoftware.IPWorks.Netdial, nsoftware.IPWorks

в рамках проекта (.файл csproj), на .файл licx ссылается как EmbeddedResource. Во время процесса сборки,LC.exe проверяет, что машина, выполняющая сборку, имеет соответствующую лицензию(лицензии) для соответствующего компонента и генерирует двоичный файл .файл лицензий, который в конечном итоге внедряется в качестве ресурса ([AssemblyName].исполняемый.лицензии) в конечном исполняемом файле.

это помочь?


лицензии.беды licx-файл

файл это под ASP.NET, Департамент WTF.

разочарование, когда вы разрабатываете веб-приложение с нашим управление, таинственный файл под названием лицензии.licx появляется. Нет, это не заказ на использование странно названного леденца, но является переходным файлом созданный (и измененный) Visual Studio, который участвует в лицензии проверочный. В режиме разработки Visual Studio использует этот файл для создания заметки каждого лицензионного элемента управления, который вы используете в своем дизайне. Когда вы строите ваше приложение Visual Studio читает эти лицензии.файл licx и каждый элемент управления, упомянутый там, загрузит соответствующую сборку и запустится код лицензии в этой сборке для проверки правильности сборки лицензированный (то есть, что продукт, к которому он принадлежит, был правильно установлен на этой машине). Если все подтвердится, визуальный Studio вставляет лицензионный ключ в исполняемый файл. Если это не так, вы получаете странные сообщения об ошибках управления не лицензируется (мой любимый- "не удалось преобразовать лицензии файлов лицензий".licx' в двоичный ресурс."к которому я обычно обращаюсь с колоритным язык моих предков).

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

вот пример строки в лицензии.файл licx.

DevExpress.XtraCharts.Сеть.WebChartControl, Частое.XtraCharts.В8.2.Web, версия=8.2.4.0, культура=нейтральная, PublicKeyToken=9b171c9fd64da1d1

первое значение в этом списке с разделителями-запятыми-это класс, второе является ли сборка, где она найдена, а другие значения-остальные строгое имя сборки. Уверен, ты уже видишь проблемы., особенно при обновлении решения до последних версий сторонние элементы управления, которые вы используете. Если вы хотите, вы можете отредактировать этот файл и удалите части strong name без проблем.

но это не самая большая проблема с лицензиями.licx. Дело Visual Studio имеет склонность касаться этого файла, если вы открываете решение (это "прикосновение" , как при изменении даты файла на текущий дата-время.) Это играет хаос с лицензированием, особенно если вы откройте решение на нелицензированном компьютере, и вы используете управление источниками. Внезапно ваша машина сборки сбросит эти "не удается преобразовать" сообщения, и вам остается гадать, что пошло не так. Другая распространенная проблема - когда у вас работает команда разработчиков решение: все они бессознательно "модифицируют" этот файл.

Итак, ответ, похоже, не ставить лицензии.файл licx под управление источниками. (статья КБ)

но это решение проблемы бросает еще один красный флаг: если один из разработчики в команде добавляют новый элемент управления, который требует лицензирования форма, строка добавляется к его местным лицензиям.файл licx и он может не получить отражение в системе управления версиями. БАМ, сборки машина не build и Джо, который добавил элемент управления, должен купить пончики для команда пока кто-то ломает сборку.

Я боюсь, у меня нет хорошего решения этой последней проблемы, потому что к сожалению, "не ставим лицензии".licx в системе управления версиями", кажется быть тем, как все решают проблему лицензирования. Другой раствор для удаления лицензии.licx файл в целом, а затем получить Visual Studio для его регенерации путем открытия решения (хотя это немного сложно на машине сборки).

в любом случае, надеюсь, что все это помогает в некотором роде. И ударяя по ноутбуку телефон не очень поможет.


мы используем пользовательскую политику регистрации (TFS), которая явно аннулирует содержимое этого, если оно присутствует в списке регистрации.