.NET Core 3.1 updates in Cloud Shell and App Engine flexible environment

Mete Atamel
Google Cloud - Community
2 min readJun 29, 2020

.NET Core 3.1 was released on December 3rd, 2019 and is a LTS release, supported for three years.

In Google Cloud, you could already deploy .NET Core 3.1 containers in Cloud Run (see cloud-run-dotnetcore-31) and also in App Engine flexible environment with a custom runtime.

We recently extended .NET Core 3.1 support in a couple of ways:

  1. Cloud Shell now supports .NET Core 3.1.
  2. App Engine flexible environment runtime now supports .NET Core 3.1.

.NET Core 3.1 in Cloud Shell

Inside Cloud Shell, you can see the latest 3.1.301 version:

Create an ASP.NET Core MVC app:

$ dotnet new mvc -o HelloWorldAspNetCore Running 'dotnet restore' on HelloWorldAspNetCore/HelloWorldAspNetCore.csproj... Determining projects to restore... Restored /home/atameldev/HelloWorldAspNetCore/HelloWorldAspNetCore.csproj (in 221 ms). Restore succeeded.

Run it inside Cloud Shell:

$ dotnet run --urls=http://localhost:8080 info: Microsoft.Hosting.Lifetime[ 0 ] Now listening on: http://localhost:8080

.NET Core 3.1 in App Engine flexible environment

You can now deploy .NET Core 3.1 apps to App Engine flexible environment without having to create a custom runtime.

First, publish a release version:

$ dotnet publish -c ReleaseHelloWorldAspNetCore -> /home/atameldev/HelloWorldAspNetCore/bin/Release/netcoreapp3.1/HelloWorldAspNetCore.dll HelloWorldAspNetCore -> /home/atameldev/HelloWorldAspNetCore/bin/Release/netcoreapp3.1/HelloWorldAspNetCore.Views.dll HelloWorldAspNetCore -> /home/atameldev/HelloWorldAspNetCore/bin/Release/netcoreapp3.1/publish/

Create an app.yaml file with the following contents inside the publish folder:

cat>bin/Release/netcoreapp3.1/publish/app.yaml<<EOF
env:flex
runtime:aspnetcore
EOF

Deploy to App Engine:

gcloud app deploy bin/Release/netcoreapp3.1/publish/app.yaml

You can then browse to the app with gcloud app browse and see the default page:

Codelab and GitHub Repo

If you want to try this out yourself, we also updated Deploy an ASP.NET Core app to App Engine codelab with the latest info:

I also create a GitHub repo, appengine-flex-dotnetcore with code and instructions on the same.

If you have questions/comments, feel free to reach out to me on Twitter (@meteatamel).

Originally published at https://atamel.dev.

--

--

Mete Atamel
Google Cloud - Community

I'm a Developer Advocate at Google Cloud, helping developers with serverless and orchestration technologies