Lc.exe (компилятор лицензий)

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

Конструктор Windows Forms автоматически создает или обновляет текстовый LICX-файл при каждом добавлении лицензированного элемента управления в форму. В процессе компиляции система проектов преобразует текстовый LICX-файл в двоичный LICENSES-файл ресурсов, который обеспечивает лицензирование элементов управления .NET. Двоичный файл ресурсов будет затем внедрен в выходной файл проекта.

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

Эта программа автоматически устанавливается вместе с Visual Studio. Для запуска этого средства используйте Командную строку разработчика или PowerShell для разработчиков в Visual Studio.

В командной строке введите следующее.

Синтаксис

      lc /target:  
targetPE /complist:filename [-outdir:path]  
/i:modules [/nologo] [/v]  
Параметр Описание
/complist:filename Задает имя файла, который содержит список лицензируемых компонентов, включаемых в LICENSES-файл. Для каждого компонента указывается его полное имя, в одной строке содержится только один компонент.

Пользователи, работающие с программой из командной строки, могут указать отдельный файл для каждой формы, входящей в проект. Программа Lc.exe принимает несколько входных файлов и создает один LICENSES-файл.
/h[elp] Отображает синтаксис команд и параметров программы.
/i:module Задает модули, в которых содержатся компоненты, перечисленные в файле /complist. Чтобы указать несколько модулей, используйте несколько флагов /i.
/nologo Отключает отображение эмблемы Майкрософт при запуске.
/outdir:path Задает каталог, в котором следует разместить полученные LICENSES-файлы.
/target:targetPE Задает исполняемый файл, для которого создается LICENSES-файл.
/v Задает режим компиляции с выводом сведений о ходе процесса.
@file Задает файл ответов (RSP).
/? Отображает синтаксис команд и параметров программы.

Пример

  1. Если применяется лицензированный элемент управления MyCompany.Samples.LicControl1, который содержится в библиотеке Samples.DLL приложения HostApp.exe, HostAppLic.txt можно создать файл , содержащий указанные ниже сведения.

    MyCompany.Samples.LicControl1, Samples.DLL  
    
  2. Создайте LICENSES-файл с именем HostApp.exe.licenses, используя следующую команду.

    lc /target:HostApp.exe /complist:hostapplic.txt /i:Samples.DLL /outdir:c:\bindir  
    
  3. Создайте HostApp.exe, включив в него LICENSES-файл в качестве ресурса. Для создания приложения на языке C# используется следующая команда.

    csc /res:HostApp.exe.licenses /out:HostApp.exe *.cs  
    

Следующая команда компилирует myApp.licenses из списков лицензированных компонентов, указанных файлами hostapplic.txthostapplic2.txt и hostapplic3.txt. Аргумент modulesList задает модули, в которых содержатся лицензируемые компоненты.

lc /target:myApp /complist:hostapplic.txt /complist:hostapplic2.txt /complist: hostapplic3.txt /i:modulesList  

Пример файла ответов

Ниже приведен пример файла ответов response.rsp. Подробнее о файлах ответов см. в разделе Файлы ответов.

/target:hostapp.exe  
/complist:hostapplic.txt
/i:WFCPrj.dll
/outdir:"C:\My Folder"  

В приведенной ниже команде используется файл response.rsp.

lc @response.rsp  

См. также