Mono(lc) Mono(lc)

lc - کامپایلر مجوز Mono

lc -c filename -t targetassembly [-i reference...] [-v] [-o outputpath] [-nologo]

ابزار lc یک کامپایلر مجوز برای Mono است. از این ابزار برای تبدیل یک فایل licenses.licx به منبعی که بتوان آن را درون یک فایل اجرایی تعبیه کرد، استفاده می‌شود.

هنگام استفاده از کامپوننت‌های تجاری برای .NET، این مؤلفه‌ها معمولاً در زمان اجرا نیازمند یک منبع مجوز هستند تا اطمینان حاصل شود که توسعه‌دهنده مجوز استفاده از این کنترل را داشته است. متداول‌ترین روش برای اطمینان از دارای مجوز بودن کامپوننت، استفاده از منابع مجوز است. در زمان کامپایل، توسعه‌دهنده با استفاده از ابزار lc یک فایل licenses.licx را به یک فایل programname.exe.licenses تبدیل کرده و آن را در حین کامپایل به‌عنوان یک منبع مدیریت‌شده تعبیه می‌کند.

گزینه‌های زیر در دسترس هستند:

این گزینه برای تعیین فایل ورودی، یعنی همان فایل licenses.licx که باید منبع مجوز برای آن ایجاد شود، استفاده می‌شود. این گزینه الزامی است. کامپایلر مجوز تک‌تک خطوط این فایل را خوانده و تلاش می‌کند انواع (types) مشخص‌شده در هر خط را بارگذاری کند.
نام کامل اسمبلی به همراه پسوند فایل برای اسمبلی هدف. کامپایلر مجوز از این نام به‌عنوان کلید در هنگام کامپایل مجوزها استفاده می‌کند. این نام باید با اسمبلی‌ای که منبع در آن تعبیه خواهد شد همخوانی داشته باشد. این گزینه الزامی است.
ارجاع اسمبلی (assembly reference) برای بارگذاری، پیش از اقدام به کامپایل مجوز. این گزینه برای اسمبلی‌هایی که ارجاعات آن‌ها در gac قرار ندارد لازم است. کامپایلرها باید تمام ارجاعات را به کامپایلر مجوز ارسال کنند.
خروجی با جزئیات بیشتر درباره فرایند کامپایل مجوز ارائه می‌دهد.
دستورالعمل‌های نحوه استفاده را نمایش می‌دهد.
مسیر مقصد برای فایل منبع مجوزها. به‌طور پیش‌فرض، کامپایلر مجوز، منبع را در دایرکتوری فعلی ایجاد می‌کند. نام فایل خروجی همواره با نام اسمبلی هدف ارسال‌شده به --target به همراه پسوند افزوده شده .licenses مطابقت خواهد داشت.
از چاپ نشان (لوگو) «Mono License Compiler» در خروجی استاندارد (stdout) در هنگام کامپایل جلوگیری می‌کند.

قالب فایل‌های مجوز (licenses.licx) به صورت زیر است:

# comment
namespace.type, assemblyname
namespace.type, full-assemblyname

تمام خطوطی که با # شروع می‌شوند نادیده گرفته می‌شوند. فرم اول مستلزم آن است که اسمبلی از طریق گزینه --load یا -i بارگذاری شده باشد، اما نیازی به نام کامل اسمبلی ندارد و فقط بخش اول نام کافی است.

فرم دوم نیازمند نام کامل اسمبلی شامل locale، version و publickeytoken است.

فهرست‌های پستی در نشانی زیر فهرست شده‌اند: http://www.mono-project.com/community/help/mailing-lists

http://www.mono-project.com

mono(1), mcs(1)