Search code examples
tfs.net-coretfsbuild

TFS2017 What determines the dotnet (core) build step versions available on perm?


What determines the version(s) of the build steps for ".net core" available in TFS2017 on prem? I've patched tfs up to date, installed .net core version 2.2 on build and tfs servers, but I can only see v0.* and v1.* in the TFS build steps. TFS2017 Build Step Screenshot

Edit to clarify: it's the version of the build step template I'm interested in, not sdk/framework/dotnet exe on the servers.


Solution

  • Tasks are versioned, each task in a pipeline has a Version selector to let you choose the version you want. And you must specify the major version of the task used in your pipeline. This can help to prevent issues when new versions of a task are released.

    Tasks are typically backwards compatible, but in some scenarios you may encounter unpredictable errors when a task is automatically updated.

    When a new minor version is released (for example, 1.2 to 1.3), your build or release will automatically use the new version. However, if a new major version is released (for example 2.0), your build or release will continue to use the major version you specified until you edit the pipeline and manually change to the new major version. The build or release log will include an alert that a new major version is available.

    More details you could refer to this official link-- Task versions

    What determines the dotnet (core) build step versions available on perm Usually it's related with your TFS version. New version TFS include new version task by default. That make sense, since for some old TFS when it's released, the new version task is not release or in development.

    For example with my Azure DevOps 2019 update1, you will be able to select version 2(latest) of this .NET Core CLI task.

    enter image description here

    If you really need the latest version, you could also consider package the task DotNetCoreCLIV2 and upload it by yourself. But we could not guarantee compatibility on old version TFS, some scenarios you may encounter unpredictable errors.