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:
- Open Visual Studio.
- In the toolbar, click File » New Project…
The Create a new project window appears.
- In the All languages dropdown, select C#.
- In the All platforms dropdown, select Windows.
- And in the All project types dropdown, select Web.
- From the list of projects, select ASP.NET Web Application (.NET Framework).
- In Project name, enter a name of your project.
For example, enter SitefinityWebApp
- Choose a location to store your project.
- Enter a name for the solution.
For example, enter SitefinityWebApp
- In Framework, select .NET Framework 4.8.
- Click Create.
- In the window that appears, select Empty and click Create.
Configure Sitefinity NuGet repository
In Visual Studio, perform the following:
- In the toolbar, click Tools » NuGet Package Manager » Package Manager Settings.
- In the left pane, expand NuGet Package Manager.
- Select Package Sources.
- Add a new source by clicking the plus button.
- In Name, enter Sitefinity Nuget
- In Source, enter https://nuget.sitefinity.com/nuget
- Click OK.
Install Sitefinity CMS
IMPORTANT: When installing Sitefinity CMS 15.3 via NuGet packages, you must use the console and include the following flag to the command: -IncludePrerelease
. For instance: Install-Package Progress.Sitefinity.Headless -IncludePrerelease.
In Visual Studio, perform the following:
- In the toolbar, click Tools » NuGet Package Manager » Package Manager Console.
The Package Manager Console opens.
- In Package source, select Sitefinity Nuget.
- In Default project, select the empty project that you have created.
- 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 -IncludePrerelease
- 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 -IncludePrerelease
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 -IncludePrerelease
Proceed by adding any of the desired additional Sitefinity CMS modules. For more information, see Work with decoupled modules.
- Wait until Sitefinity CMS is installed on your empty project.
- Build your solution.
Setup the project
- Open the project in Visual Studio.
- In the Solution Explorer, open the context menu of your newly created project.
- Click View » View in browser.
Your project starts in a browser.
- Install your license.
After the project initialized in the browser, the License activation page appears.
Perform procedure Activate a license.
- 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:
- In Sitefinity CMS backend, navigate to Administration » Web services.
- Open the Default web service.
- Under Who can access the content by this service?, select Everyone.
- 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:
- In Visual Studio, navigate to File » New » Project…
- Click ASP.NET Core Web Application » Next.
- In Project name, enter Renderer and click Create.
- Make sure ASP.NET Core 8.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:
- In Visual Studio, navigate to Tools » NuGet Package Manager » Package Manager Settings.
- Under NuGet Package Manager, click Package Sources.
- Add a new source, name it Sitefinity NuGet Repository, and, in Source field, enter https://nuget.sitefinity.com/nuget
- Click OK.
- Navigate to Tools » NuGet Package Manager » Manage NuGet Packages for Solution…
- In Package source dropdown, select Sitefinity NuGet Repository.
- Open the Browse tab, select Progress.Sitefinity.AspNetCore, and install it in project Renderer.
- 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:
- 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:
- Select the
Program.cs
file.
Edit the file to add the Sitefinity-related configurations.
The file should look in the following way:
- In the Solution Explorer on the right, expand Properties and select
launchSettings.json
.
- 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"
- 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.
- 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.