【发布时间】:2019-09-17 22:18:55
【问题描述】:
我们正在尝试寻找一种解决方案,以提供一个包名称来标识一个 1.x 版本的合约和一个 2.x 版本的合约,它们在某种程度上是相互独立的。
我们的 api/foo 1.x 上使用的 Cosco.Contracts 1.x
我们的 api/foo 2.x 上使用的 Cosco.Contracts 2.x
这个想法是创建一个引用 Costco.Contracts 1.x 的新 Costco.Contracts 2.x 项目。 1.x 将继承到 2.x。都在同一个sln中。
我们希望避免 1.x 与 2.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。谢谢
【问题讨论】:
标签: .net .net-core nuget nuget-package