Azure devops .netcore失败,但在Visual Studio中可以正常运行

时间:2018-12-04 02:08:43

标签: azure-devops azure-deployment

-修复了...哎呀,这东西真是简陋。
Microsoft链接说明做什么 https://docs.microsoft.com/en-us/aspnet/core/migration/21-to-22?view=aspnetcore-2.2&tabs=visual-studio

我必须从Microsoft.AspNetCore.csproj文件中的所有引用中删除版本标记。

<ItemGroup>
  <PackageReference Include="Microsoft.AspNetCore.All" **DELETE Version Version="2.2.0" />

-编辑12/4 我在PC .netcore上安装了2.2,现在失败了。我没有在项目中更改设置。我在我的项目设置中指定使用2.1而不是2.2。 它显示在YAML中,我设置的.netcore版本不适用。

- task: DotNetCoreInstaller@0
  displayName: 'Use .NET Core Tool Installer'
  inputs:
    version: 2.1.500

我不确定现在该怎么办。

- 在使用Azure Devops构建或从VS发布到Azure应用服务时,出现以下错误。 Visual Studio可以很好地构建它。

  

(恢复目标)-> 2018-12-04T01:30:44.4900171Z   D:\ a \ 1 \ s \ cbw.services \ cbw.mvc.services.csproj:错误NU1202:软件包   Microsoft.AspNetCore.All 2.2.0与netcoreapp2.1不兼容   (.NETCoreApp,版本= v2.1)。软件包Microsoft.AspNetCore.All 2.2.0   支持:netcoreapp2.2(.NETCoreApp,Version = v2.2)

我的构建YAML

resources:
- repo: self
queue:
  name: Hosted VS2017
steps:
- task: DotNetCoreInstaller@0
  displayName: 'Use .NET Core Tool Installer'
  inputs:
    version: 2.1.500
- task: NuGetToolInstaller@0
  displayName: 'Use NuGet 4.9.1'
  inputs:
    versionSpec: 4.9.1
#- task: NuGetCommand@2
#  displayName: 'NuGet restore'
#  inputs:
#    restoreSolution: '***.sln'
#    feedsToUse: config
#    nugetConfigPath: 'NuGet.config'
#    externalFeedCredentials: <Name of the NuGet service connection>
- task: DotNetCoreCLI@2
  displayName: Restore
  inputs:
    command: restore
    projects: '**/*.sln'
    feedsToUse: config
    nugetConfigPath: NuGet.config
- task: DotNetCoreCLI@2
  displayName: Build
  inputs:
    projects: '**/*.sln'
    arguments: '--configuration $(BuildConfiguration)'
- task: DotNetCoreCLI@2
  displayName: Test
  inputs:
    command: test
    projects: '**/*Tests/*.csproj)'
    arguments: '--configuration $(BuildConfiguration)'
#- task: DotNetCoreCLI@2
#  displayName: Publish
#  inputs:
#    command: publish
#    publishWebProjects: True
#    arguments: 'release --output $(build.artifactstagingdirectory)'
- task: DotNetCoreCLI@2
  displayName: 'dotnet publish'
  inputs:
    command: 'publish'
    publishWebProjects: True
    projects:  '**/*.sln'
    arguments: release -o $(build.artifactStagingDirectory)
    zipAfterPublish: True
    modifyOutputPath: false
- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact'
  inputs:
    PathtoPublish: '$(build.artifactstagingdirectory)'
- task: AzureRmWebAppDeployment@3
  inputs:
    azureSubscription: 'Azure CBW Dev'
    WebAppName: 'cbwServicesDev'
    Package: $(System.artifactstagingdirectory)/**/*.zip 

1 个答案:

答案 0 :(得分:1)

您需要将.NET Core SDK安装程序任务添加到构建中。

编辑:它必须是第一个任务,或者至少在任何构建任务之前。

斯科特·汉塞尔曼(Scott Hanselman)的优秀post会带您解决这个问题。

enter image description here

enter image description here