.NET buildpacks auto-detection updated

Change effective on 17 September 2025

We updated our .NET buildpacks’ auto-detection logic to be more robust.

If your app includes a *.sln, *.csproj, *.vbproj, or *.fsproj file in the root directory, Heroku automatically recognizes it as a .NET app.

The .NET buildpacks use the following order of precedence to select a build target:

  1. A solution file configured using config vars
  2. A solution file configured using a project.toml file
  3. A single solution file
  4. A single project file

Previously, the buildpacks used the first solutions file they found. Refer to .NET Behavior in Heroku for more details.