Поделиться через


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

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

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

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

Компилятор лицензий устанавливается автоматически вместе с Visual Studio. Чтобы запустить компилятор лицензий, используйте Командная строка Visual Studio и пакета Windows SDK. В командной строке введите следующее:

lc /target:targetPE /complist:filename [/outdir:path]
/i:modules [/nologo] [/v]

Параметр

Описание

/complist:имя_файла

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

Пользователи, работающие с программой из командной строки, могут указать отдельный файл для каждой формы, входящей в проект. Lc.exe принимает несколько входных файлов и образует один файл с расширением LICENSES.

/h[elp]

Отображает синтаксис команд и параметры программы.

/i:модуль

Задает модули, в которых содержатся компоненты, перечисленные в файле /complist. Чтобы указать более одного модуля, используйте несколько флагов /i.

/nologo

Отключает отображение эмблемы Майкрософт при запуске.

/outdir:путь

Задает каталог, в котором следует разместить полученные LICENSES-файлы.

/target:целевой_PE-файл

Задает исполняемый файл, для которого создается файл с расширением LICENSES.

/v

Задает режим компиляции с выводом сведений о ходе процесса.

/?

Отображает синтаксис команд и параметры программы.

Пример

  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.txt, hostapplic2.txt и hostapplic3.txt. Параметр modulesList задает модули, в которых содержатся лицензируемые компоненты.

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

См. также

Ссылки

Al.exe (компоновщик сборок)

Командная строка Visual Studio и пакета Windows SDK

Другие ресурсы

Инструменты .NET Framework