UPDATED 18 Dec, 2020 We’ve taken automation up another notch when it gets to installing upgrades to your Sitefinity project. If you’re running Sitefinity 10.0 or above, the Sitefinity CLI (Command Line Interface) is the new fast lane to upgrading your websites and applications.
NuGet is the package manager for .NET. A solution enabling developers to create, share and consume code effortlessly and efficiently. Each NuGet package contains compiled code and content files in an archive with a .nupkg extension.
Sitefinity comes with its own set of NuGet packages containing reusable code to simplify and streamline various tasks in your projects—one particularly convenient application is getting and installing upgrades. That said, NuGets are still key, but the procedure is just the right bit more straightforward and reliable by enabling upgrades via the Sitefinity CLI.
Upgrades via Sitefinity CLI: Proceed with Confidence
The Sitefinity CLI now supports upgrades to the latest version for projects that are NuGet-based and are running on Sitefinity CMS 10.0 and above. The Upgrade CLI will automatically install NuGet packages, handle references and binding redirects, as well as manage framework updates.
Upgrades are handled in a way that saves time and effort by minimizing manual tasks, while significantly reducing the margin of error. Of course, the upgrade command deals with Sitefinity-related projects only. Projects in your solution that don’t reference any Sitefinity packages, will not be modified.
Here go the key benefits of upgrading via CLI:
- The Sitefinity CLI automatically handles broken or missing references
- The target framework is automatically set to the relevant Sitefinity framework version
- The Sitefinity CLI automatically fixes binding redirects
- All the Sitefinity projects in the solution are automatically upgraded without having to manually run through every single one
- Can run in a Continuous Integration pipeline
So, be sure to check out this blog post looking at upgrades via the Sitefinity CLI in greater detail. Meanwhile, you’re welcome to explore our updated documentation articles on the Sitefinity Upgrade Procedure. Make sure you get the latest version of the Sitefinity CLI too.
You can now safely read on. The content below is still very much relevant if you want to keep on upgrading manually using NuGet packages.
What Are the Benefits of Using NuGet Packages in Sitefinity CMS?
By using NuGet packages over the standard assembly reference provided by the Sitefinity CMS Project Manager, you benefit from numerous improvements, such as:
-
NuGet packages are installed on the solution level and are sharable across the entire solution. This enables you to upgrade your projects with a single command. You can easily share the same package across projects in your solution or share with other solutions as well.
-
NuGet packages support automatic updates once a newer version is detected.
-
NuGet packages reduce the size of projects and enable you to easily integrate CI/CD processes in your workflows.
-
You can upgrade multiple Sitefinity CMS projects in your organization with simple NuGet commands.
-
Sitefinity CMS NuGet packages perform web.config transformations, as well as deliver and update content folders and files if you work with Sitefinity CMS version 11.0 and newer.
-
NuGet packages are seamless to work with, which means that you can use simple install and update commands instead of searching, downloading, copying and referencing assemblies manually.
-
You do not have to install any additional tooling to use NuGet. NuGet is distributed and pre-installed in Visual Studio by default.
Start Using NuGet Packages in Your Sitefinity Websites
You can start a Sitefinity CMS project in one of the following ways:
-
Via the Sitefinity Project Manager.
-
By installing the Sitefinity CMS project with a single command via NuGet packages on an empty ASP.NET web application. For more information, see Install Sitefinity.
If you go with the first approach, you need to convert your website to use NuGet packages. For more information, check out our other blog post—Convert Your Sitefinity Website to Use NuGet Packages.
Obtain Sitefinity CMS NuGet Packages
Sitefinity CMS has its own public host (http://nuget.sitefinity.com), where you can obtain packages for each Sitefinity CMS version. To add the NuGet Sitefinity URL as a NuGet source, follow the instructions on the website.
Upgrade Sitefinity CMS with NuGet Packages
Once your project starts using NuGet packages, it is quick and easy to upgrade it. As of Sitefinity 11.0, there is one less thing to worry about—the Sitefinity CMS NuGet packages automatically handle the web.config transformation and reference the updates in your project. The only requirement to perform upgrades with NuGet packages is to install them on your Sitefinity CMS project. To update the packages, you use NuGet with Package Manager UI or Package Manager Console in Visual Studio. The following sections describe the two approaches in detail. You can use either one of them—keep in mind that for your production websites, we recommend using the latest official version of the product.
Package Manager UI
In Visual Studio, perform the following:
-
In the Solution Explorer, right click on your solution and select Manage NuGet Packages for Solution. The NuGet Package Manager UI window opens and the Installed tab is selected by default.
-
Select the Updates tab and Search for "Telerik.Sitefinity.All".
-
From the Search Result list, select the package.
-
Click the Update button and wait for NuGet to complete the update to the latest available version (including internal builds).
5. If you want to update to a specific version, select the desired version from the dropdown list in the right pane and click Install.
6. Build your solution.
Package Manager Console
-
In Visual Studio, enable the Package Manager Console.
To do this, navigate to View -> Other Windows -> Package Manager Console. -
From the NuGet Package manager console, run the Update-Package command, followed by the package name (Telerik.Sitefinity.All) and the version to which you want to upgrade (for example, 11.0.6700.0).
NOTE: If you do not specify a version, the upgrade is to the latest version available in the Sitefinity CMS NuGet feed.
As a result, the command should look similar to the following:
Update-Package Telerik.Sitefinity.All -Version 11.0.6700.0
Going Forward
Next time you want to get the latest functionality of Sitefinity CMS, just execute the Update-Package command instead of downloading the new Project Manager and performing a manual upgrade, you'll be able to experience all new features and functionality without the hassle of logging in.