In this article I will explain step by step, how to solve the problem ReportViewer control not showing in Visual Studio 2022.
ReportViewer control is not bundled in Visual Studio versions 2022 and hence it needs to be separated installed.
Downloading the Microsoft RDLC Report Designer Extension for Visual Studio 2022
Please use the following link to download the Microsoft RDLC Report Designer Extension for Visual Studio 2022.
Installing the Microsoft RDLC Report Designer Extension for Visual Studio 2022
Once downloaded, double click the Microsoft.RdlcDesigner.vsix file to start the installation wizard and click on Install.
Note: You will need to close all Visual Studio versions before installing the extension.
After successful install, restart your machine and now you will be able to see the Report and Report Wizard item in your Add New Item Dialog.
Installing ReportViewer control for Visual Studio 2022
You will need to install the Microsoft.ReportingServices.ReportViewerControl.WebForms package using the following command.
Install-Package Microsoft.ReportingServices.ReportViewerControl.WebForms
Once installed, you will notice the following content in your Web.Config file.
<system.web>
<compilation debug="true" targetFramework="4.7.2">
<buildProviders>
<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" />
</buildProviders>
<assemblies>
<add assembly="Microsoft.ReportViewer.Common, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" />
<add assembly="Microsoft.ReportViewer.WebForms, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" />
</assemblies>
</compilation>
<httpRuntime targetFramework="4.5" />
<httpHandlers>
<add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" validate="false" />
</httpHandlers>
</system.web>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+"/>
</compilers>
</system.codedom>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" />
<handlers>
<add name="ReportViewerWebControlHandler" verb="*" path="Reserved.ReportViewerWebControl.axd" preCondition="integratedMode" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" />
</handlers>
</system.webServer>
ReportViewer control not visible in ToolBox
In some cases, even after doing all above steps, the ReportViewer control will not be visible. Thus, there is no need to worry you can easily register and use it in the following way.
Registering the ReportViewer control
<%@Register Assembly="Microsoft.ReportViewer.WebForms, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
Adding the ReportViewer control with ScriptManager
<asp:ScriptManager runat="server"></asp:ScriptManager>
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Width="600">
</rsweb:ReportViewer>
Complete page
<%@Page Language="C#" AutoEventWireup="true" CodeBehind="Dafault.aspx.cs" Inherits="RDLC_Report_VS_2022.Default" %>
<%@Register Assembly="Microsoft.ReportViewer.WebForms, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager runat="server"></asp:ScriptManager>
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Width="600">
</rsweb:ReportViewer>
</form>
</body>
</html>