Как я могу упаковать проекты B и C в виде автономных пакетов самородок? Я не хочу публиковать проект A как пакет самородок.
Поскольку вы используете netstandard1.4, вы не можете использовать прямой способ « donet pack
» для включения ссылок на проект. Поскольку dotnet pack
будет пакет только проект, а не его ссылки P2P, вы можете получить подробную информацию из документа dotnet-pack и проблему с GitHub :
Зависимости NuGet упакованного проекта добавляются в файл .nuspec, поэтому они корректно разрешаются при установке пакета. Ссылки на проект-проект не упакованы внутри проекта. В настоящее время у вас должен быть пакет на один проект, если у вас есть зависимости между проектами.
Если вы хотите, чтобы пакет B и C содержал код / ??dll из проекта A, вы можете использовать NuGet.exe для создания пакетов B и C, добавив сборки ссылок проекта в файл .nuspec:
<?xml version="1.0"?>
<package >
<metadata>
<id>TestProjectB</id>
<version>1.0.0</version>
<authors>Tester</authors>
<owners>Tester</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Package description</description>
<releaseNotes>Test sample for netstandard package.</releaseNotes>
<copyright>Copyright 2017</copyright>
<tags>Tag1 Tag2</tags>
</metadata>
<files>
<file src="binDebug
etstandard1.4TestProjectB.dll" target="lib
etstandard1.4TestProjectB.dll" />
<file src="binDebug
etstandard1.4TestProjectA.dll" target="lib
etstandard1.4TestProjectA.dll" />
</files>
</package>
В этом случае вы можете упаковать проекты B и C в виде автономных пакетов самородок, не нужно публиковать проект A как пакет самородок.