I am trying to configure Telerik Reporting into MVC application.
The things which are done.
1. Installed libraries: Data Access(2014.3.1209.1), Telerik Report (8.2.14.1204), System.Web.Http(5.2.2.0)
2. Registered Reporting route on WebApiConfig.
Telerik.Reporting.Services.WebApi.ReportsControllerConfiguration.RegisterRoutes(config);
3. Added reporting controller
public class ReportsController : ReportsControllerBase
{
protected override IReportResolver CreateReportResolver()
{
var reportsPath = HttpContext.Current.Server.MapPath("~/Reports");
return new ReportFileResolver(reportsPath)
.AddFallbackResolver(new ReportTypeResolver());
}
protected override ICache CreateCache()
{
return Telerik.Reporting.Services.Engine.CacheFactory.CreateFileCache();
}
}
While building application I am getting this error:
----------------------------------------------------------------------------------------
Unable to load assembly 'Project.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' : Could not load file or assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. General Exception (Exception from HRESULT: 0x80131500)
ExceptionString:
System.SystemException: Unable to load assembly 'Project.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' : Could not load file or assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. General Exception (Exception from HRESULT: 0x80131500) ---> System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
at System.Reflection.RuntimeModule.GetTypes()
at System.Reflection.Assembly.GetTypes()
at Telerik.OpenAccess.Metadata.MetadataAttributesReader.PrepareMetaModelTypes(Assembly assembly)
--- End of inner exception stack trace ---
at Telerik.OpenAccess.Metadata.MetadataAttributesReader.PrepareMetaModelTypes(Assembly assembly)
at Telerik.OpenAccess.Metadata.MetadataAttributesReader.ReadMetaModel(Assembly assembly)
at Telerik.OpenAccess.Metadata.AttributesMetadataSource.<>c__DisplayClass1.<FromAssembly>b__0()
at Telerik.OpenAccess.Metadata.AttributesMetadataSource.CreateModel()
at Telerik.OpenAccess.Metadata.MetadataSource.GetModelCore(MetadataContainer old)
at Telerik.OpenAccess.Sdk.Enhancer.Enhancer.CrossDomainRunImpl(AssemblyLoader assemblyLoader)
at Telerik.OpenAccess.Sdk.Enhancer.EnhancerBase.CrossDomainRun() C:\Projects\ProjectAbc\Project.Web\obj\Debug\Project.Web.dll Project.Web
----------------------------------------------------------------------------------------
Yes, this clearly means that mapping is missed out for System.Web.Http but it is being set correctly:
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.2.0" newVersion="5.2.2.0" />
</dependentAssembly>
From error it seems like, it is related to Data Access but if I comment entire class (ReportsController) from step 3 then it is working fine. Also during upgrade I have cleared cache from every possible location .Net Temp, bin folder, checked proper reference of libraries. This is my first attempt to use Telerik reporting on my existing application.
Please suggest what needs to be done.
The things which are done.
1. Installed libraries: Data Access(2014.3.1209.1), Telerik Report (8.2.14.1204), System.Web.Http(5.2.2.0)
2. Registered Reporting route on WebApiConfig.
Telerik.Reporting.Services.WebApi.ReportsControllerConfiguration.RegisterRoutes(config);
3. Added reporting controller
public class ReportsController : ReportsControllerBase
{
protected override IReportResolver CreateReportResolver()
{
var reportsPath = HttpContext.Current.Server.MapPath("~/Reports");
return new ReportFileResolver(reportsPath)
.AddFallbackResolver(new ReportTypeResolver());
}
protected override ICache CreateCache()
{
return Telerik.Reporting.Services.Engine.CacheFactory.CreateFileCache();
}
}
While building application I am getting this error:
----------------------------------------------------------------------------------------
Unable to load assembly 'Project.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' : Could not load file or assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. General Exception (Exception from HRESULT: 0x80131500)
ExceptionString:
System.SystemException: Unable to load assembly 'Project.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' : Could not load file or assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. General Exception (Exception from HRESULT: 0x80131500) ---> System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
at System.Reflection.RuntimeModule.GetTypes()
at System.Reflection.Assembly.GetTypes()
at Telerik.OpenAccess.Metadata.MetadataAttributesReader.PrepareMetaModelTypes(Assembly assembly)
--- End of inner exception stack trace ---
at Telerik.OpenAccess.Metadata.MetadataAttributesReader.PrepareMetaModelTypes(Assembly assembly)
at Telerik.OpenAccess.Metadata.MetadataAttributesReader.ReadMetaModel(Assembly assembly)
at Telerik.OpenAccess.Metadata.AttributesMetadataSource.<>c__DisplayClass1.<FromAssembly>b__0()
at Telerik.OpenAccess.Metadata.AttributesMetadataSource.CreateModel()
at Telerik.OpenAccess.Metadata.MetadataSource.GetModelCore(MetadataContainer old)
at Telerik.OpenAccess.Sdk.Enhancer.Enhancer.CrossDomainRunImpl(AssemblyLoader assemblyLoader)
at Telerik.OpenAccess.Sdk.Enhancer.EnhancerBase.CrossDomainRun() C:\Projects\ProjectAbc\Project.Web\obj\Debug\Project.Web.dll Project.Web
----------------------------------------------------------------------------------------
Yes, this clearly means that mapping is missed out for System.Web.Http but it is being set correctly:
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.2.0" newVersion="5.2.2.0" />
</dependentAssembly>
From error it seems like, it is related to Data Access but if I comment entire class (ReportsController) from step 3 then it is working fine. Also during upgrade I have cleared cache from every possible location .Net Temp, bin folder, checked proper reference of libraries. This is my first attempt to use Telerik reporting on my existing application.
Please suggest what needs to be done.