通过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 Feed。
dotnet restore任务不遵循有条件的包选择。(它还原Mock.MyPackage)
问题:
如何有条件地还原包(基于$Configuration)?
备注:
我也尝试在Visual Studio构建任务期间通过指定MsBuild参数进行还原:/t:restore。
在这种情况下,它会显示错误消息:无法从远程源检索有关XX的信息。 如果此命令可以还原包,那么如何为私有Feed指定授权参数?
Github上存在一个问题:https://github.com/NuGet/Home/issues/5895,其中提到了这样的问题。