为什么我在DevOps Artifacts中的私人Nuget Feed中有Microsoft软件包?

时间:2019-02-19 03:12:40

标签: azure-devops nuget

这是我的构建管道

# .NET Desktop
# Build and run tests for .NET Desktop or Windows classic desktop solutions.
# Add steps that publish symbols, save build artifacts, and more:
# https://docs.microsoft.com/azure/devops/pipelines/apps/windows/dot-net

trigger:
- master

pool:
  vmImage: 'VS2017-Win2016'

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'
  Major: '2'
  Minor: '0'
  Patch: '0'

steps:
- task: NuGetToolInstaller@0

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

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

- task: VSTest@2
  inputs:
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

- task: NuGetCommand@2
  inputs:
    command: pack
    packagesToPack: '**/*.csproj'
    versioningScheme: byPrereleaseNumber
    majorVersion: '$(Major)'
    minorVersion: '$(Minor)'
    patchVersion: '$(Patch)'

- task: NuGetCommand@2
  displayName: 'NuGet push'
  inputs:
    command: push
    publishVstsFeed: 'MyCommonFeed'
    allowPackageConflicts: true

我很惊讶地看到创建的feed包含来自Nuget.org的软件包 为什么? Microsoft packages

1 个答案:

答案 0 :(得分:3)

  

为什么我在DevOps Artifacts中的私人Nuget Feed中有Microsoft软件包?

这是因为,如果您在创建此供稿时从公共来源设置了包,则默认情况下,您的私有Nuget供稿将nuget.org设置为上游来源:

enter image description here

然后转到设置->上游源,您会发现列出了三个公共源:

enter image description here

enter image description here

您可以使用 source 过滤器来选择软件包的来源。

当我们从上游来源下载任何软件包时,它将被缓存在工件中,下次您将看到它。

希望这会有所帮助。