Azure DotNetCoreCLI还原与NuGetCommand还原

Azure DotNetCoreCLI还原与NuGetCommand还原,azure,azure-pipelines,azure-pipelines-build-task,azure-pipelines-yaml,Azure,Azure Pipelines,Azure Pipelines Build Task,Azure Pipelines Yaml,我试图理解Azure构建管道中两个nuget restore命令之间的区别: - task: NuGetCommand@2 inputs: restoreSolution: '$(solution)' 及 我试着去理解,但在微软的网页上,我看到的是两者都可以使用——我真的找不到任何东西来说明两者的区别。(我也不太理解feedsToUse:'select'语句) 第二个问题是,后者和后者的区别是什么 - task: DotNetCoreCLI@2 inputs: comm

我试图理解Azure构建管道中两个nuget restore命令之间的区别:

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

我试着去理解,但在微软的网页上,我看到的是两者都可以使用——我真的找不到任何东西来说明两者的区别。(我也不太理解
feedsToUse:'select'
语句)

第二个问题是,后者和后者的区别是什么

- task: DotNetCoreCLI@2
  inputs:
    command: restore
    projects: '**/*.csproj'

假设解决方案包含所有csproj(并且只有csproj)?

Nuget任务用于安装和更新Nuget包依赖项,或者打包和发布Nuget包。使用
NuGet.exe
并与.NET Framework应用程序一起工作对于.NET Core和.NET标准应用程序,请使用.NET Core任务

dotnet restore
在内部使用与.NET核心SDK打包的
NuGet.exe
版本
dotnet restore
只能还原.NET核心项目
.csproj
文件中指定的包。如果解决方案中还有Microsoft.NET Framework项目,或者使用
package.json
指定依赖项,则还必须使用numget任务来恢复这些依赖项

在.NET Core SDK 2.0版及更高版本中,当运行其他命令(如
dotnet build
)时,软件包会自动恢复。但是,如果使用经过身份验证的提要,则可能仍然需要使用.NET Core任务来还原包

关于
feedsToUse:'select'
,当包缓存在Azure工件中并具有上游源时,您应该使用
feedsToUse:'select'
,并指定
vstsFeed:xxxx
。检查以下语法(如果要从外部自定义源还原包,请使用
feedsToUse:'config'
,并指定
numgetconfigpath
externalFeedCredentials
):

当您不需要在Azure工件中缓存包或从外部自定义源缓存包时,请使用以下语法(您应该指定要在
项目中使用的csproj文件的路径,而不是解决方案的路径):

有用链接:

- task: DotNetCoreCLI@2
  inputs:
    command: restore
    projects: '**/*.csproj'
#feedsToUse: # Options: select, config
#vstsFeed: # Required when feedsToUse == Select
#nugetConfigPath: # Required when feedsToUse == Config
#externalFeedCredentials: # Optional
- task: DotNetCoreCLI@2
  displayName: 'dotnet restore'
  inputs:
    command: restore
    projects: '**/*.csproj'