Docs menu
Getting started with .NET
Deploy a minimal ASP.NET Core app to Primcloud end-to-end using a sample repo, in about five minutes.
On this page
This guide walks through deploying a small ASP.NET Core app to Primcloud. You'll fork a sample repo, import it, watch the build, and reach the deployed app at a *.primcloud.app URL. Takes about five minutes.
Before you start#
You'll need:
- A Primcloud account. Standard accounts are free to create; compute is metered by the minute once you deploy, from around $5/mo for the smallest app.
- A git provider connected to your account with access to at least one repo.
- Optional: the .NET SDK 8.0 or newer installed locally, if you want to run the sample or make changes before deploying.
The sample app#
For this guide, use Heroku's heroku/dotnet-getting-started repo. It's a minimal ASP.NET Core web app that builds cleanly on the Primcloud Runtime with no changes. Fork it into an account your connected provider can see, so Primcloud can pull from it.
1. Create the application#
From the Primcloud dashboard, hit Import Git Repository on the applications list. The import wizard walks you through three quick steps:
- Pick a repository: select your fork of
dotnet-getting-started. - Configure the deployment:
- Branch:
main(the fork's default). - Region: US East (NYC).
- Branch:
- Review and create: Primcloud auto-provisions the app's primary
*.primcloud.appsubdomain on the production environment.
2. Deploy#
The first deployment kicks off automatically when the app is created. Watch it stream in the Deployments tab:
- Detection. Primcloud sees the
.csprojat the repo root and picks the .NET toolchain. - Build. The .NET SDK runs
dotnet publishand packages the result into a runnable image. The SDK version is resolved from the project'sTargetFramework. - Release. Primcloud starts the
webprocess on the pod formation. NoProcfileis required: Primcloud infers thewebprocess type from theMicrosoft.NET.Sdk.WebSDK.
When the deployment status flips to Release Succeeded, the app is live.
3. Reach the app#
The application dashboard shows the assigned *.primcloud.app URL in the header. Click it, and the sample app's homepage loads.
If it doesn't come up:
- Deployments: the build log has the raw output from the .NET SDK.
- Logs: runtime output from your app streams there, including any startup errors.
- Confirm the app binds to
$PORT. Primcloud setsPORT(a fixed5000) on thewebformation, and because the sample is anMicrosoft.NET.Sdk.Webproject, the build wires it to that port automatically.
Where to go next#
- Deploying a different .NET app: .NET on Primcloud for detection, build target selection, and process type inference.
- Pinning to a specific SDK version: Runtime versions.
- Using a private NuGet feed: Package managers.
- Customizing the
dotnet publishcommand or adding a build hook: Customizing the build. - Something breaking: Troubleshooting .NET.