Overview

This topic provides a migration guide from the v2 .NET Core Buildpack for Tanzu Application Service for VMs to the Tanzu .NET Core Buildpack. By following this guide, you can migrate your existing .NET Core applications running on Tanzu Application Service for VMs to Tanzu Application Service for Kubernetes or Tanzu Build Service.

Partner Integrations

The v2 .NET Core Buildpack bundled third-party integrations with partner utilities like Dynatrace. The v3 .NET Core Buildpack does not yet include these integrations.

Application Source Changes

Using a supported .NET Core Version

Applications using the v3 .NET Core buildpack need to be upgraded to a supported distribution of .NET Core. See Microsoft’s ASP.NET migration documentation and .NET Core Framework migration documentation for moving to supported versions.

Having multiple projects in an app

Tanzu .Net Core buildpacks do not support the use of the .deployment file to designate the primary project path. Instead, you must include a buildpack.yml file at the root of the app with the following contents:


dotnet-build:
  # this allows you to set the location of the web app inside of the app root
  # if not set it will default to the app root

  project-path: "src/asp_web_app"

Breaking changes in the Tanzu .NET Core Buildpack

  1. If you are building a .NET Core app that requires Node/NPM, you will have to make sure the app's project file contains the following:
<Target>
    <Exec Command="some Node/NPM command" ContinueOnError="true">
    </Exec>
</Target>

Alternatively, you can use the build-plan buildpack available at gcr.io/paketo-buildpacks/build-plan with the following plan.toml file included in the root directory of the app:

[[requires]]
name = "node"                                                                                                          
[requires.metadata]
  launch = true

2. If you're building a .NET Core app and need to set the URLs that ASP.NET Core binds to on startup (e.g. Kestrel apps), you must set the URL manually in your app or you can set it while running the image container as follows:

docker run --env ASPNETCORE_URLS=http://0.0.0.0:<PORT> <app-image>

Unsupported Workflows

The following workflows are not currently supported in the .NET Core Buildpack:

  1. Partner integrations like Dynatrace are not currently included in the Tanzu .NET Core Buildpack.
  2. No support for .deployment file, see the “Application Source Changes” section for workaround.
  3. The bower package manager will not be installed by the Tanzu .NET Core Buildpack.
  4. The libgdiplus and libunwind shared libraries will not be install by the Tanzu .NET Core Buildpack.
check-circle-line exclamation-circle-line close-line
Scroll to top icon