我正在尝试理解Azure构建管道中的两个nuget恢复命令之间的区别:
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'和
- task: DotNetCoreCLI@2
inputs:
command: 'restore'
projects: '$(solution)'
feedsToUse: 'select'我试图理解,但在microsoft pages上,我看到的是两者都可以使用--我真的找不到任何东西来说明它们的不同之处。(我真的不太明白
语句)feedsToUse: 'select'
作为第二个问题,后者和
- task: DotNetCoreCLI@2
inputs:
command: restore
projects: '**/*.csproj'假设解决方案包含所有的csproj (并且只包含csproj)?
发布于 2021-02-26 17:17:19
Nuget任务用于安装和更新NuGet包依赖,或者打包和发布NuGet包。使用NuGet.exe并与.NET框架应用程序。对于.NET核心和.NET标准应用程序,请使用.NET核心任务..。
dotnet restore在内部使用NuGet.exe这是与.NET核心软件开发工具包打包在一起的。
dotnet restore只能还原在.NET核心项目中指定的包.csproj文件。如果您的解决方案中还包含Microsoft .NET框架项目,或者使用package.json若要指定依赖项,还必须使用NuGet任务来恢复这些依赖项。
在.NET核心SDK版本2.0和更新版本中,包在运行其他命令时自动恢复dotnet build..。但是,您可能仍然需要使用.NET核心
任务来恢复包。
关于feedsToUse: 'select',当包缓存在具有上游源代码的Azure工件中时,您应该使用feedsToUse: 'select'
,并指定vstsFeed: xxxx..。检查以下语法(如果要从外部自定义提要恢复包,请使用feedsToUse: 'config',并指定nugetConfigPath和externalFeedCredentials):
#feedsToUse: # Options: select, config
#vstsFeed: # Required when feedsToUse == Select
#nugetConfigPath: # Required when feedsToUse == Config
#externalFeedCredentials: # Optional当您不需要在Azure工件中或外部自定义提要中缓存包时,请使用以下语法(您应指定要在中使用的csproj文件的路径projects,而不是通向解决方案的路径):
- task: DotNetCoreCLI@2
displayName: 'dotnet restore'
inputs:
command: restore
projects: '**/*.csproj'有用的链接:
https://stackoverflow.com/questions/66377643
复制相似问题