یکی از قابلیتهای ابزار خط فرمان dotnet، امکان تبدیل یک پروژهی سفارشی سازی شده، به یک قالب نصب پروژههای جدید بر مبنای آن است. برای مثال فرض کنید میخواهیم پروژهی
DNTIdentity را تبدیل به یک قالب جدید کنیم تا به سادگی بتوان پروژههای جدید را بر مبنای آن ایجاد کرد.
ساخت پوشهی مخصوص template.config.
اولین قدم جهت تبدیل یک پروژهی از پیش موجود، به قالبی جدید، افزودن پوشهی ویژهای به نام
template.config. به ریشهی آن است. سپس فایل خالی template.json را با محتوای ذیل به آن اضافه کنید:
{
"author": "VahidN <https://www.dntips.ir/>",
"classifications": [ "MVC", ".NET Core", "ASP.NET Core" ],
"name": "Empty DNT.Identity project",
"identity": "DNT.Identity",
"shortName": "dntidentity",
"tags": {
"language": "C#"
},
"sourceName": "ASPNETCoreIdentitySample"
}
توضیحات:
در اینجا متادیتای تعریف شده شامل موارد ذیل است:
Author: اطلاعات نویسنده است.
Classification: امکان جستجوی بهتر این قالب را فراهم میکند.
Name: توضیحاتی در مورد پروژه.
Identity: نام منحصربفرد پروژه.
ShortName: نامی است که از آن جهت تولید پروژههای جدید، استفاده میشود.
SourceName: مهمترین تنظیم این گروه بوده و نام فضای نام اصلی پروژهاست. زمانیکه پروژهی جدیدی را ایجاد میکنید، این نام به صورت خودکار بر اساس نام جدید انتخابی اصلاح و جایگزین خواهد شد (در تمام پروژههای مربوط به solution جاری).
معرفی قالب تهیه شده به سیستم dotnet
پس از ساخت فایل template.config\template.json. در ریشهی پروژه، اکنون از طریق خط فرمان به ریشهی پروژه وارد شده و دستور ذیل را صادر کنید:
در اینجا dp0~% با آدرس پوشهی جاری جایگزین میشود. اگر نیاز است آنرا به صورت دستی مقدار دهی کنید.
پس از نصب این پوشه به عنوان یک قالب جدید، یکبار از سیستم وجود آنرا کوئری بگیرید:
اگر به خروجی آن دقت کنید، یک سطر ذیل به آن اضافه شدهاست:
Templates Short Name Language Tags
---------------------------------------------------------------------------------------------------------------
Console Application console [C#], F#, VB Common/Console
Class library classlib [C#], F#, VB Common/Library
Empty DNT.Identity project dntidentity [C#] MVC/.NET Core/ASP.NET Core
نحوهی ایجاد یک پروژهی جدید بر اساس قالب نصب شده
پس از ساخت این قالب جدید و معرفی آن به سیستم، نحوهی کار با آن به صورت ذیل است:
dotnet new dntidentity -n MyNewProj
در اینجا dntidentity همان Short Name تنظیم شدهاست و پارامتر n، نام Solution جدید را مشخص میکند. پس از اجرای این دستور مشاهده خواهید کرد که این نام جدید بر روی نام پوشهها و همچنین فضاهای نام تولیدی به صورت خودکار اعمال شدهاست و مقدار «ASPNETCoreIdentitySample» پیشفرض را بازنویسی کردهاست.