Для этого не нужно использовать файл nuspec - обычные файлы проекта .NET Core SDK работают нормально.
Используйте <ProjectReference>
для ссылки на один проект из другого, и это будет частьюиз зависимостей в пакете NuGet.
Например:
ChickenApi.Core.csproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<!-- TODO: Extra NuGet properties, e.g. Description, Authors -->
<Version>1.0</Version>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
</Project>
ChickenApi.Game.csproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<!-- TODO: Extra NuGet properties, e.g. Description, Authors -->
<Version>1.0</Version>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\ChickenApi.Core\ChickenApi.Core.csproj" />
</ItemGroup>
</Project>
Если вы запустите dotnet pack -c Release
для решения, это создаст два nupkg
файла, по одному для каждого проекта.Просто опубликуйте оба пакета, и все будет хорошо.
Однако следует помнить, что если вы измените ChickenApi.Core
и затем зависите от этих изменений в ChickenApi.Game
, вы должны опубликовать оба пакета (с обновленными номерами версий).Легко забыть изменить версию ChickenApi.Core
и опубликовать новую версию ChickenApi.Game
, которая утверждает, что все еще ссылается на 1.0, но зависит от изменений, которых нет в опубликованной 1,0.