通过 Azure DevOps 管道构建的解决方案有一些使用条件包引用的项目,例如:
<Choose>
<When Condition="'$(Configuration)'=='Debug'">
<ItemGroup>
<PackageReference Include="Mock.MyPackage" Version="1.0.0" />
</ItemGroup>
</When>
<Otherwise>
<ItemGroup>
<PackageReference Include="MyPackage" Version="1.2.0" />
</ItemGroup>
</Otherwise>
</Choose>
包源是私有 NuGet 源。
dotnet restore 任务不遵守条件包选择。(它恢复 Mock.MyPackage)
问题:
如何有条件地恢复包(基于 $Configuration)?
备注:
我还尝试在 Visual Studio Build 任务期间通过指定 MsBuild 参数进行恢复:/t:restore。
在这种情况下,它会失败并显示一条消息:无法从远程源检索有关 XX 的信息。如果此命令可以恢复包,我如何为私人提要指定授权参数?
Github 上有一个问题:https ://github.com/NuGet/Home/issues/5895最后提到了这样的问题。