Install Sitefinity in hybrid ASP.NET Core and MVC mode

Overview

In this mode, Sitefinity can have both ASP.NET Core and MVC pages. This mode uses the following setup:

Types of pages
rendered

ASP.NET Core

ASP.NET MVC

Backend Sitefinity CMS
(running on ASP.NET framework 4.8)
Frontend

Sitefinity ASP.NET Core Renderer
(running on ASP.NET Core, rendering ASP.NET Core pages)

Sitefinity CMS (running on ASP.NET framework 4.8,
rendering MVC pages
)

RECOMMENDATION: We recommend using this mode to migrate MVC to ASP.NET Core pages.
For more information, see Migrate from MVC to ASP.NET Core.

The following article describes how to install and setup Sitefinity CMS to work with a standalone ASP.NET Core application as renderer.

You first install and configure Sitefinity CMS to work with the Renderer, then install the Renderer NuGet packages in an ASP.NET Core application, and finally, make the required configurations in the Renderer.

NOTE: To install Sitefinity CMS using NuGet, you must use Visual Studio 2017 or later. This article uses Visual Studio 2019 as a reference.

To install Sitefinity CMS in a blank web application using a NuGet package, perform the following:

Create a blank web application

To do this, perform the following:

  1. Open Visual Studio.
  2. In the toolbar, click File » New Project…
    The Create a new project window appears.
  3. In the All languages dropdown, select C#.
  4. In the All platforms dropdown, select Windows.
  5. And in the All project types dropdown, select Web.
  6. From the list of projects, select ASP.NET Web Application (.NET Framework).
  7. In Project name, enter a name of your project.
    For example, enter SitefinityWebApp
  8. Choose a location to store your project.
  9. Enter a name for the solution.
    For example, enter SitefinityWebApp
  10. In Framework, select .NET Framework 4.8.
  11. Click Create.
  12. In the window that appears, select Empty and click Create.

Configure Sitefinity NuGet repository

In Visual Studio, perform the following:

  1. In the toolbar, click Tools » NuGet Package Manager » Package Manager Settings.
  2. In the left pane, expand NuGet Package Manager.
  3. Select Package Sources.
  4. Add a new source by clicking the plus button.
  5. In Name, enter Sitefinity Nuget
  6. In Source, enter https://nuget.sitefinity.com/nuget
  7. Click OK.

Install Sitefinity CMS

In Visual Studio, perform the following:

  1. In the toolbar, click Tools » NuGet Package Manager » Package Manager Console.
    The Package Manager Console opens.
  2. In Package source, select Sitefinity Nuget.
  3. In Default project, select the empty project that you have created.
  4. Depending on whether you want to install the full Sitefinity CMS package or a light version:
    • To have all Sitefinity CMS modules installed in your project, install the Telerik.Sitefinity.All package by entering in the console: Install-Package Telerik.Sitefinity.All
    • To have only the core Sitefinity CMS modules installed in your project, install the Progress.Sitefinity package by entering in the console: Install-Package Progress.Sitefinity

      NOTE: With these commands, you install the latest patch build. If you want to install a specific version, you must use the command followed by -Version and the version number.
      For example, enter Install-Package Telerik.Sitefinity.All -Version 14.4.8100.0

      Proceed by adding any of the desired additional Sitefinity CMS modules. For more information, see Work with decoupled modules.

  5. Wait until Sitefinity CMS is installed on your empty project.
  6. Build your solution.

Setup the project

  1. Open the project in Visual Studio.
  2. In the Solution Explorer, open the context menu of your newly created project.
  3. Click View » View in browser.
    Your project starts in a browser.
  4. Install your license.
    After the project initialized in the browser, the License activation page appears.
    Perform procedure Activate a license.
  5. Setup the project.
    After you activate your license, the Project Startup page appears.
    Perform procedure Setup the project.
    Sitefinity CMS Dashboard appears.

Configure Sitefinity CMS

After creating and configuring your ASP.NET Core application, you have to configure your Sitefinity CMS. Perform the following:

  1. In Sitefinity CMS backend, navigate to Administration » Web services.
  2. Open the Default web service.
  3. Under Who can access the content by this service?, select Everyone.
  4. Save your changes.

Create the ASP.NET Core web application

You install the Renderer in a separate ASP.NET Core application. If you do not have one, create it in the following way:

  1. In Visual Studio, navigate to File » New » Project…
  2. Click ASP.NET Core Web Application » Next.
  3. In Project name, enter Renderer and click Create.
  4. Make sure ASP.NET Core 7.0 is selected and click Create.

Install the ASP.NET Core Renderer

In your Renderer application, you must install the provided NuGet packages:

  • Progress.Sitefinity.AspNetCore.nupkg
  • Progress.Sitefinity.AspNetCore.Widgets.nupkg
  • Progress.Sitefinity.Renderer.nupkg
  • Progress.Sitefinity.RestSdk.nupkg
  • Progress.Sitefinity.AspNetCore.FormWidgets.nupkg

Perform the following:

  1. In Visual Studio, navigate to Tools » NuGet Package Manager » Package Manager Settings.
  2. Under NuGet Package Manager, click Package Sources.
  3. Add a new source, name it Sitefinity NuGet Repository, and, in Source field, enter https://nuget.sitefinity.com/nuget
  4. Click OK.
  5. Navigate to Tools » NuGet Package Manager » Manage NuGet Packages for Solution…
  6. In Package source dropdown, select Sitefinity NuGet Repository.
  7. Open the Browse tab, select Progress.Sitefinity.AspNetCore, and install it in project Renderer.
  8. Select Progress.Sitefinity.AspNetCore.Widgets and install it in project Renderer.

Configure the ASP.NET Core Renderer

After you have created the project and installed the NuGet packages, you must configure it to connect it to Sitefinity CMS. In Visual Studio, perform the following:

  1. In the Solution Explorer on the right, select appSettings.json.
    Edit the file to add the Sitefinity-related configurations.

    The file should look in the following way:

  2. Select the Program.cs file.
    Edit the file to add the Sitefinity-related configurations.

    The file should look in the following way:

  3. In the Solution Explorer on the right, expand Properties and select launchSettings.json.
  4. Find the object with property "commandName": "Project" and edit this object’s applicationUrl property.

    The property should look in the following way:
    "applicationUrl": "https://localhost:5001;http://localhost:5000"

  5. In the Visual Studio toolbar, expand the run button dropdown, and select the launch profile you just edited.
    In your case, it is named Renderer.

    NOTE: To debug your solution, you need to use the profile you have configured. Debugging of the IIS Express profile is not supported.

  6. Build your solution.

Run the Renderer

To run the Renderer, navigate to https://localhost:5001/Sitefinity or http://localhost:5000/Sitefinity

NOTE: You use these URLs to run the Renderer locally for development purposes. To setup the Renderer for production, you can use on of the hosting scenarios, described in Hosting configurations.

Increase your Sitefinity skills by signing up for our free trainings. Get Sitefinity-certified at Progress Education Community to boost your credentials.

Get started with Integration Hub | Sitefinity Cloud | Sitefinity SaaS

This free lesson teaches administrators, marketers, and other business professionals how to use the Integration hub service to create automated workflows between Sitefinity and other business systems.

Web Security for Sitefinity Administrators

This free lesson teaches administrators the basics about protecting yor Sitefinity instance and its sites from external threats. Configure HTTPS, SSL, allow lists for trusted sites, and cookie security, among others.

Foundations of Sitefinity ASP.NET Core Development

The free on-demand video course teaches developers how to use Sitefinity .NET Core and leverage its decoupled architecture and new way of coding against the platform.

Was this article helpful?