我们正试图找到一种解决方案,以提供一个单独的程序包名称,以标识版本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。谢谢
答案 0 :(得分:0)
没关系...经过进一步研究,这是一个坏主意。