Да. Как вы знаете, 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