【发布时间】:2021-11-11 09:27:36
【问题描述】:
我正在创建一个预发布 NuGet 包作为 Azure DevOps 构建的一部分,并将其推送到内部 Azure DevOps 源。这工作正常。
作为同一管道的一部分,我想使用这个新推送的包,以便我可以恢复它并运行一些测试。我似乎找不到恢复最新版本的方法。
在我希望将其还原到的项目中,我已将包引用设置为具有通配符:
<ItemGroup>
<PackageReference Include="MyNewNuGetPackage" Version="0.*" />
</ItemGroup>
打包时,我在管道中使用此步骤:
- task: DotNetCoreCLI@2
displayName: Pack
inputs:
command: pack
versioningScheme: byPrereleaseNumber
requestedMajorVersion: 0
requestedMinorVersion: 1
requestedPatchVersion: 0
packagesToPack: 'src/**/*.csproj'
packDestination: '$(Build.ArtifactStagingDirectory)'
这将创建一个版本号为 MyNewNuGetPackage.0.1.0-CI-20211111-084008.nupkg 的包
这已正确推送到我的内部提要,但是当我尝试恢复目标项目的包时,请使用以下步骤:
- task: DotNetCoreCLI@2
inputs:
command: 'restore'
projects: 'MyTargetProject.csproj'
feedsToUse: 'select'
vstsFeed: 'my-local-feed-id'
然后我得到这个错误:
(恢复目标)->
/home/vsts/work/1/s/MyTargetProject.csproj : 错误 NU1103: 找不到稳定的包 MyNewNuGetPackage 版本 (>= 0.0.0)
/home/vsts/work/1/s/MyTargetProject.csproj : 错误 NU1103: - 找到 2 个版本 feed-my-local-feed-id [最近的版本: 0.1.0-CI-20211111-084008]
/home/vsts/work/1/s/MyTargetProject.csproj : 错误 NU1103: - 在 NuGetOrg 中找到 0 个版本
所以任务可以看到那里有一个预发布版本,但我认为它只是在寻找非预发布(即稳定)版本,因为错误“无法找到稳定的包”。
作为此构建的一部分,我如何执行 NuGet 恢复以恢复最新的预发布包?
【问题讨论】:
标签: .net azure-devops nuget