dotnet核心程序集版本控制和nuget包版本控制

时间:2019-09-17 22:18:55

标签: .net .net-core nuget nuget-package

我们正试图找到一种解决方案,以提供一个单独的程序包名称,以标识版本1.x合约和2.x合约在某种程度上彼此独立。

Cosco.Contracts 1.x用于我们的api / foo 1.x

Cosco.Contracts 2.x用于我们的api / foo 2.x

这个想法是创建一个引用Costco.Contracts 1.x的新Costco.Contracts 2.x项目。 1.x将继承到2.x。都在同一个sln中。

我们希望避免为2.x完全复制1.x,因此2.x将继承1.x更改,并且还包含对api / foo 2.x的更改。

每个项目都有自己的构建。理想情况下2.x将向后兼容。

在创建像dotnet pack Costco.Contract.2.x.nupkg这样的nuget包时,我们会收到错误消息

D:\Jenkins\workspace\Serenity\Costco\Costco.Contracts.V2>dotnet pack Costco.Contracts --output D:\Jenkins\workspace\Serenity\Costco --configuration Release --include-source --include-symbols /p:PackageVersion=2.0.9-alpha /p:PackageID=Costco.Contracts
Microsoft (R) Build Engine version 15.9.20+g88f5fadfbe for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restoring packages for D:\Jenkins\workspace\Serenity\Costco\Costco.Contracts\Costco.Contracts.V2\Costco.Contracts.V2.csproj...
C:\Program Files\dotnet\sdk\2.2.103\NuGet.targets(114,5): error : Ambiguous project name 'Costco.Contracts'.

我愿意接受任何建议,我们只需要一个POC。谢谢

1 个答案:

答案 0 :(得分:0)

没关系...经过进一步研究,这是一个坏主意。