Skip to content

Knowledgebase

Hosting an ASP.NET Core application on Plesk for Windows

plesk, development

An ASP.NET Core application must be published for its target runtime and hosted with a compatible IIS integration. Plesk can manage the website and, where installed, .NET Toolkit settings. Uploading the development project alone is not the same as deploying a production release.

Check access and requirements

Confirm Plesk for Windows, a supported Windows release, the required .NET runtime and IIS Hosting Bundle compatibility, and any .NET Toolkit availability. Use a supported application framework version and review the current vendor lifecycle. Back up the existing site and database, identify secrets and writable directories, and plan how deployment will avoid locked files and concurrent writes.

01 Host an ASP.NET Core application on Plesk for Windows

  1. Publish the application from a trusted build environment using the intended Release configuration and deployment model. For a framework-dependent deployment, verify the required shared runtime is installed; a self-contained deployment still needs the appropriate IIS integration.
  2. Create or select the Plesk domain and its document root. Use the .NET website or toolkit setup when available, or the documented IIS deployment workflow supported by the provider.
  3. Deploy the published output, including the generated web.config and required assets. Do not expose source-control metadata, development secrets or diagnostic artifacts. Preserve persistent uploads and data-protection material outside replaceable release files according to the application design.
  4. Configure production environment values and connection strings through the approved protected mechanism. Give the application identity only the filesystem access required for designated writable locations.
  5. Confirm the IIS application-pool architecture and hosting settings match the published application. A server administrator must install or repair the Hosting Bundle when required; a customer should request that capability rather than uploading server installers into the website.
  6. Use the supported offline/deployment process when files are locked, then start or recycle the affected application through Plesk. Review startup logs before opening public traffic.
  7. Run database migrations only through the application release plan with a recovery decision. A new schema may prevent an older code release from working even if its files can be restored.

02 Example: build the published release before uploading it

In a trusted build environment with the SDK required by the project, replace MyApp.csproj with the actual project file:

Code or configuration example
dotnet publish ./MyApp.csproj -c Release -o ../release-output/MyApp

This produces the deployment output in the sibling ../release-output/MyApp directory using the project's configured target framework and deployment settings. Inspect the output and any build warnings, and deploy the published files through the planned Plesk workflow. Keep this output outside the project tree to avoid nested publish folders on later builds, and outside a live public document root and exclude development secrets and source-control metadata.

Do not infer server compatibility from a successful build. Confirm the intended deployment model, supported runtime, architecture and IIS Hosting Bundle on the Windows host before switching traffic. After deployment, test a fresh application start and an authenticated database-backed action. Apply database migrations only through the release and recovery plan.

Common question: does changing the ASP.NET version install .NET?

No. Classic ASP.NET framework settings and the ASP.NET Core runtime are different components. Check the runtime actually required by the published application and the components installed on the server. A dropdown selection cannot supply a missing native dependency or an unsupported runtime.

Confirm the expected result

Test the HTTPS home page, authenticated session, database operation, file upload and a fresh application restart. Confirm production error handling hides internal details. Check the actual deployed runtime and that the application can find required configuration after a recycle.

Resolve setup problems

For a startup failure, compare the runtime, architecture, Hosting Bundle and startup log. Enable detailed diagnostics only temporarily in a protected location and turn them off after diagnosis. Do not publish detailed exception pages or grant broad filesystem access to mask the error. Restore the previous tested release when necessary, coordinating any database recovery so newer business records are not silently discarded.

Was this answer helpful?

Need a little more help?

Our support team can help you find the next step.

Contact support