Cannot push dotnet 3.0.100 from Azure DevOps

(Brian Herbert) #1

I’m using the DevOps pipeline to push my dotnet build to an Octopus cloud instance.

It worked fine until I added the dotnet SDK 3 installer to the devops pipeline

- task: UseDotNet@2
  displayName: 'Install .net core 3.0.100'
  inputs:
    packageType: sdk
    version: '3.0.100'
    installationPath: $(Agent.ToolsDirectory)/dotnet

The octopus part of my azure-pipelines.yml looks like this:

- task: OctoInstaller@4
  inputs:
    version: 'latest'
    
- task: OctopusPush@4
  inputs:
    OctoConnectedServiceName: 'XXX.octopus.app'
    Space: 'Spaces-1'
    Package: '$(Build.ArtifactStagingDirectory)/$(Build.DefinitionName).$(Build.BuildNumber).zip'
    Replace: 'false'

I have tried every combination of OctoInstaller that I can think of including embedded and explicit version numbers. I keep getting this error message with @4.

Failed to push package. The Octo command line tool is too old to run this task. Please use version 6.10.0 or newer, or downgrade the task to version 3.*.

With OctoInstall@3 I get another error:

Failed to push package. The process '/opt/hostedtoolcache/dotnet/dotnet' failed with exit code 150

Has anyone been able to use dotnet 3 with Octopus deploy? One option might be to install the octo extension for dotnet but I’m not sure how you would do that from the azure pipeline. Or to use a Windows build instead of Ubuntu.

I also noticed an error in the build step.

The specified framework 'Microsoft.NETCore.App', version '2.0.0' was not found.
  - The following frameworks were found:
      3.0.0 at [/opt/hostedtoolcache/dotnet/shared/Microsoft.NETCore.App]

This means there that octopus must be trying to use the dotnet 2 framework or something.

(Brian Herbert) #2

After looking carefully at the logs, I discovered that OctopusPush was failing because it depends on dotnet 2.0.0. I added in a yml task to install that framework and now it pushes to octopus.

1 Like