
روشهای زیادی برای تهیهی یک بستهی نیوگت وجود دارند، مانند استفاده از برنامهی NuGet Package Explorer و یا تهیهی یک فایل nuspec و تغییر مداوم جزئیات آن، به ازای هر نگارش جدید پروژه. در ادامه قصد داریم روش خودکار سازی این تغییرات را بررسی کنیم.
الف) تهیه فایل nuspec
NuGet قابلیت پذیرش متغیرهای خود تکمیل شوندهای را نیز دارد. فایل nuspec یا جزئیات بستهی تولیدی نیوگت، در این حالت یک چنین شکلی را پیدا میکند:
<?xml version=”1.0″?>
<package >
<metadata>
<id>$id$</id>
<version>$version$</version>
<title>$title$</title>
<authors>$author$</authors>
<owners>$author$</owners>
<licenseUrl>https://site.com/prj/LICENSE</licenseUrl>
<projectUrl>https://site.com/prj</projectUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>$description$</description>
<copyright>Copyright 2015 My Name</copyright>
</metadata>
</package>
برای مثال اگر پروژهی ما TestNuget نام دارد، فایلی به نام TestNuget.nuspec را با محتویات فوق برای آن تهیه خواهیم کرد. همانطور که مشاهده میکنید، در این فایل ویژه، هیچکدام از اطلاعات شماره نگارش پروژه، نام نویسنده و غیره، از پیش تعیین نشدهاند. این اطلاعات، از فایل AssemblyInfo.cs پروژه، به صورت خودکار دریافت خواهند شد و نکتهی مهم آن، قرار گرفتن این فایل nuspec در پوشهی اصلی پروژه است. از این جهت که برای کامپایل آن و تبدیل به یک بستهی نیوگت، فایل nuget.exe را بر روی فایل پروژهی اصلی برنامه اجرا خواهیم کرد و نه بر روی این فایل nuspec.
بنابراین تکمیل اطلاعات فایل AssemblyInfo.cs را فراموش نکنید. برای مثال اطلاعات AssemblyCompany آن، در قسمت authors فایل فوق جایگزین میشود.