Missing assembly reference when using JsonDataSource component
Environment
Product | Progress® Telerik® Reporting |
Description
Error on previewing the report that ulitizes JsonDataSource component.
Error Message
The data provider of type 'Telerik.Reporting.Processing.WebServiceDataSource.JsonDataProvider, Telerik.Reporting.WebServiceDataSource, Version=18.3.24.1218, Culture=neutral, PublicKeyToken=a9d7983dfcc261be' defined for data sources of type 'Telerik.Reporting.JsonDataSource' cannot be resolved. Are you missing an assembly reference?
Cause\Possible Cause(s)
The JsonDataSource Component depends on the WebServiceDataSource functionalities. The latter are hosted in a separate assembly due to WebServiceDataSource dependecy on the System.Net.Http
.
Solution
In order to preview reports that utilize JsonDataSource component, it is required to reference the Telerik.Reporting.WebServiceDataSource
DLL or the corresponding NuGet package in the application. The assembly is supposed to be referenced in the project where the Reporting engine runs.
- For HTML5 Report Viewer or any of its wrappers, this is the Telerik Reporting REST Service project.
- When exporting the report programmatically you should reference the assembly in the project that utilizes the ReportProcessor.
-
In Visual Studio Report Designer the needed assemblies are resolved in the context of the Visual Studio application. Generally, it looks for them in the Global Assembly Cache (GAC) and then in the folders specified in the configuration file of the Visual Studio application, which is
devenv.exe.config
- see Troubleshooting Visual Studio Report Designer.We don't deploy the assembly
Telerik.Reporting.WebServiceDataSource.dll
in the GAC due to its dependency onSystem.Net.Http
which is not deployed there by default. Hence, even if our assembly gets successfully resolved, the error may persist due to the external assembly. The workaround is to copy the fileTelerik.Reporting.WebServiceDataSource.dll
in the Visual Studio folder, for example,C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE
. If this doesn't help, you should copy also theSystem.Net.Http.dll
there.