Search code examples
azure-devopsazure-pipelines.net-6.0

Pipeline Failure NET SDK does not support targeting


Why is the pipeline for Azure Functions .NET6 (on Windows) failing with this error?

Error NETSDK1045: The current .NET SDK does not support targeting .NET 6.0. Either target .NET 5.0 or lower, or use a version of the .NET SDK that supports .NET 6.0.


Solution

  • I found the solution here https://jaliyaudagedara.blogspot.com/2021/07/azure-devops-building-projects.html
    It works if I specify the .NET Core SDK version & set preview version to true

    - task: UseDotNet@2
      displayName: 'Use .NET Core sdk'
      inputs:
        packageType: 'sdk'
        version: '6.0.x'
        includePreviewVersions: true
    

    So my final pipelines looks something like this

    # .NET Core Function App to Windows on Azure
    # Build a .NET Core function app and deploy it to Azure as a Windows function App.
    # Add steps that analyze code, save build artifacts, deploy, and more:
    # https://learn.microsoft.com/en-us/azure/devops/pipelines/languages/dotnet-core
    
    trigger:
    - master
    - main
    - dev
    
    variables:
      azureSubscription: 'XXXX'
      functionAppName: 'XXXX'
      vmImageName: 'windows-latest'
      workingDirectory: '$(System.DefaultWorkingDirectory)/XXXX'
    
    stages:
    - stage: Build
      displayName: Build stage
    
      jobs:
      - job: Build
        displayName: Build
        pool:
          vmImage: $(vmImageName)
    
        steps:
        - task: UseDotNet@2
          displayName: 'Use .NET 6 Core sdk'
          inputs:
            packageType: 'sdk'
            version: '6.0.x'
            includePreviewVersions: true
    
        - task: DotNetCoreCLI@2
          displayName: Build
          inputs:
            command: 'build'
            projects: |
              $(workingDirectory)/*.csproj
            arguments: --output $(System.DefaultWorkingDirectory)/publish_output --configuration Release
    
        - task: ArchiveFiles@2
          displayName: 'Archive files'
          inputs:
            rootFolderOrFile: '$(System.DefaultWorkingDirectory)/publish_output'
            includeRootFolder: false
            archiveType: zip
            archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
            replaceExistingArchive: true
    
        - publish: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
          artifact: drop
    
    - stage: Deploy
      displayName: Deploy stage
      dependsOn: Build
      condition: succeeded()
    
      jobs:
      - deployment: Deploy
        displayName: Deploy
        environment: 'development'
        pool:
          vmImage: $(vmImageName)
    
        strategy:
          runOnce:
            deploy:
    
              steps:
              - task: AzureFunctionApp@1
                displayName: 'Azure functions app deploy'
                inputs:
                  azureSubscription: '$(azureSubscription)'
                  appType: functionApp
                  appName: $(functionAppName)
                  package: '$(Pipeline.Workspace)/drop/$(Build.BuildId).zip'