да Както знаете, NuGet може да създаде пакет директно от .csproj файл. Това е основно "автоматичният" режим. Лесно е, но има и ограничения.
Можете също така да създадете .nuspec файл, който ви позволява изрично да посочите как искате да изградите своя пакет. Това може да включва множество сглобки, зависимости, насочване към различни рамки и т.н.
Първо създайте папка с име nuspec в корена на вашето решение.
Отворете команден ред в папката nuspec.
Тип: nuget spec MyPackage
‹= използвайте какъвто и да е идентификаторът на вашия пакет
Това ще създаде файл MyPackage.nuspec. Редактирайте този файл. Там ще видите куп шаблонен код. Актуализирайте стойностите по подходящ начин.
ЗАБЕЛЕЖКА: След като започнете да използвате изричен .nuspec файл, ще трябва да поддържате тези стойности (като номер на версия), тъй като те вече няма да изтеглят от .csproj файла.
Основната част, която трябва да добавите, е раздел <files/>
. Също така се уверете, че сте включили зависимостите, необходими и на ДВАТА ви проекта.
Ето примерен .nuspec файл:
<?xml version="1.0"?>
<package >
<metadata>
<id>MyPackage</id>
<version>1.0.0</version>
<authors>Author Names</authors>
<owners>Owner Names</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>MyPackage description</description>
<releaseNotes>Initial version.</releaseNotes>
<copyright>Copyright 2015</copyright>
<!-- add dependencies here
<dependencies>
<dependency id="SomePackage.Id" />
</dependencies>
-->
</metadata>
<files>
<file src="..\ProjectA\bin\Debug\ProjectA.dll" target="lib\net45" />
<file src="..\ProjectB\bin\Debug\ProjectB.dll" target="lib\net45" />
</files>
</package>
Забележете как секцията с файлове препраща към действителните модули, които искате да включите във вашия пакет.
След като редактирате файла .nuspec, трябва да създадете пакета.
От командния ред въведете: nuget pack MyPackage.nuspec
След това трябва да създаде файл MyPackage.1.0.0.nupkg, готов за качване в NuGet.org.
Ето документацията за формата Nuspec: http://docs.nuget.org/Create/Nuspec-Reference
person
Kiliman
schedule
21.05.2015