Could not load file or assembly 'System.Resources.NetStandard' in R3 2023
Environment
Product | Progress® Telerik® Reporting |
Product Version | R3 2023 (17.2.23.1010)+ |
Description
I receive the error message Could not load file or assembly 'System.Resources.NetStandard'
in R3 2023 (17.2.23.1010).
The problem occurs since with R3 2023 (17.2.23.1010) we started using a ResXResourceReader implementation for reading the embedded assembly resources. This class is not supported in .NET Standard and is not a part of .NET runtime, so we used a NuGet package to obtain this functionality. The name of the package is ResXResourceReader.NetStandard, it uses an MIT license and has a strong-name variant.
Error
Telerik.Reporting.Processing.CancelProcessingException: 'An error occurred while evaluating the report parameters. Report source cannot be processed. Check the InnerException for more information.'
Inner Exception:
FileNotFoundException: Could not load file or assembly 'System.Resources.NetStandard, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
Solution
NuGet packages
This package is added as a dependency in Telerik.Reporting .nuspec
file, so if you reference Telerik Reporting as a nuget package, you'll also automatically get the System.Resources.NetStandard.dll
assembly.
Direct References
You will get the above runtime exception if in your project Telerik Reporting is referenced as an assembly, i.e.:
<ItemGroup>
<Reference Include="Telerik.Reporting">
<HintPath>..\..\..\Bin\netstandard2.0\Telerik.Reporting.dll</HintPath>
</Reference>
</ItemGroup>
The solution is to add a NuGet package reference to ResXResourceReader.NetStandard in your project, or download its contents, extract it, and reference the System.Resources.NetStandard.dll
directly.