/dotnetcore-buildpack

Heroku .NET Core Buildpack

Primary LanguageShellMIT LicenseMIT

Heroku .NET Core Buildpack

This is the Heroku buildpack for ASP.NET Core.

Build status

Usage

The Buildpack will search through the repository's folders to locate a Startup.cs or Program.cs file. If found, the .csproj in the containing folder will be used in the dotnet publish <project>.csproj command.

If repository contains multiple Web Applications (multiple Startup.cs), PROJECT_FILE and PROJECT_NAME environment variables allow to choose project for publishing.

.NET Core latest stable

heroku buildpacks:set jincod/dotnetcore

.NET Core edge

heroku buildpacks:set https://github.com/jincod/dotnetcore-buildpack

Previous releases

heroku buildpacks:set https://github.com/jincod/dotnetcore-buildpack#version

Available releases

More info

Entity Framework Core Migrations

You cannot run migrations with the dotnet ef commands once the app is built. Alternatives include:

Enabling Automatic Migrations

  • Ensure the ASPNETCORE_ENVIRONMENT environment variable is set to Production. ASP.NET Core scaffolding tools may create files that explicitly set it to Development. Heroku config will override this (heroku config:set ASPNETCORE_ENVIRONMENT=Production).
  • Configure your app to automatically run migrations at startup by adding the following to the .csproj file:
<Target Name="PrePublishTarget" AfterTargets="Publish">
  <Exec Command="dotnet ef database update" />
</Target>
  • Configure your connection string string appropriately, for example, for PostgreSQL:

sslmode=Prefer;Trust Server Certificate=true

Manually Running Migration Scripts on the Database

  • Manually run SQL scripts generated by Entity Framework Core in your app's database. For example, use PG Admin to connect your Heroku Postgres service.

Node.js and NPM

heroku buildpacks:set jincod/dotnetcore
heroku buildpacks:add --index 1 heroku/nodejs

Using Multiple Buildpacks for an App

Example

ASP.NET Core Demo App

Donation

If this project help you, you can give me a cup of coffee ☕

Donate