Problem: Could not load assembly reference

Sitefinity CMS ships with an updated reference to System.Web.OData. This updated reference has a chain of dependent references that get added when you use the NuGet package. When using Visual Studio versions 15.8.0 and above, Visual Studio automatically adds assembly binding redirect for the following assemblies:

  • System.Linq
  • System.Linq.Expressions
  • System.Reflection
  • System.Runtime.Extensions

It redirects them to .NET Framework version 4.8. Because Sitefinity CMS is built with .NET Framework 4.8, on runtime you get the assembly reference error.

The exception occurs in the following format:
Could not load a reference assembly for execution

Solution: Fix the incorrectly introduced binding redirects

Remove the assembly binding redirects in your web.config for the following assemblies:

  • System.Linq
  • System.Linq.Expressions
  • System.Reflection
  • System.Runtime.Extensions

Save the web.config and run your project.

Optional step: Delete the incorrectly added assemblies
Although they will no longer cause any issues, you can also manually delete the following assemblies, targeting .NET Framework version 4.8 from your Sitefinity CMS project bin folder:

  • System.Linq
  • System.Linq.Expressions
  • System.Reflection
  • System.Runtime.Extensions

If you rebuild your project, the assemblies will no longer be present in the bin folder.

Solution:  Downgrade or upgrade your Visual Studio version

Use Visual Studio versions prior to 15.8.0 or Visual Studio 2017 15.9

Want to learn more?
Enhance your Sitefinity skills by enrolling in free training sessions. Become Sitefinity certified through Progress Education Community to strengthen your professional credentials.