Strumento Reportviewer mancante in Visual Studio 2017 RC

Ho appena iniziato a scrivere software di reportistica in una nuova versione di visual studio denominato visual studio 2017 RC, ma ho notato che gli strumenti di reportviewing di base mancano sia da Windows Form che dal modello di applicazione WPF. Qualcuno può dirmi perché lo strumento reportviewer è scomparso da Visual Studio 2017? Davvero problemi senza. C’è qualche alternativa a lavorare con questo strumento nel nuovo studio visivo?

Aggiornamento : Microsoft ha rilasciato un documento il 18 aprile 2017 che descrive come configurare e utilizzare lo strumento di reporting in Visual Studio 2017.

Visual Studio 2017 non ha lo strumento ReportViewer installato di default nel ToolBox. Installazione dell’estensione Microsoft Rdlc Report Designer per Visual Studio e quindi aggiungendolo al ToolBox genera un componente non visivo che viene visualizzato sotto il modulo.

Il supporto Microsoft mi ha detto che si tratta di un bug, ma dal 21 aprile 2017 “funziona come progettato”.

I seguenti passaggi devono essere seguiti per ogni progetto che richiede ReportViewer .

  • Se si dispone di ReportViewer nella ReportViewer degli strumenti, rimuoverlo. Evidenzia, fai clic con il tasto destro e cancella.
    • Dovrai avere un progetto con un modulo aperto per farlo.
  • Se hai installato l’ editor di Microsoft Rdlc Report Designer per Visual Studio , disinstallalo.
  • Chiudi la soluzione e riavvia Visual Studio. Questo è un passaggio cruciale, gli errori si verificano se VS non viene riavviato quando si passa da una soluzione all’altra.
  • Apri la tua soluzione.
  • Aprire la console NuGet Package Manager ( Tools/NuGet Package Manager/Package Manager Console )
  • Al prompt PM> immettere questo comando, caso pertinente.

    Install-Package Microsoft.ReportingServices.ReportViewerControl.WinForms

    Dovresti vedere il testo che descrive l’installazione del pacchetto.

Ora possiamo aggiungere temporaneamente lo strumento ReportViewer alla casella degli strumenti.

  • Fai clic con il pulsante destro nella casella degli strumenti e seleziona Choose Items...

  • Dobbiamo cercare la DLL corretta che si trova nella cartella Packages soluzioni, quindi premere il pulsante Sfoglia.

  • Nel nostro esempio possiamo incollare la cartella dei pacchetti come mostrato nel testo della Console di Gestione pacchetti.

    C:\Users\jdoe\Documents\Projects\_Test\ReportViewerTest\WindowsFormsApp1\packages

  • Quindi fare doppio clic sulla cartella denominata Microsoft.ReportingServices.ReportViewerControl.Winforms.140.340.80

    Il numero di versione probabilmente cambierà in futuro.

  • Quindi fai doppio clic su lib e di nuovo su net40 .

  • Infine, fai doppio clic sul file Microsoft.ReportViewer.WinForms.dll

    Si dovrebbe vedere ReportViewer controllato nella finestra di dialogo. Scorri verso destra e vedrai la versione 14.0.0.0 ad esso associata.

  • Clicca OK.

ReportViewer si trova ora nel ToolBox.

  • Trascina lo strumento sui moduli desiderati.

  • Una volta completato, eliminare lo strumento ReportViewer dalla casella degli strumenti. Non puoi usarlo con un altro progetto.

  • Puoi salvare il progetto e sono a posto.

Ricordare di riavviare Visual Studio ogni volta che è necessario aprire un progetto con ReportViewer modo che la DLL venga caricata dalla posizione corretta. Se si tenta di aprire una soluzione con un modulo con ReportViewer senza riavviare, verranno visualizzati errori che indicano che ” The variable 'reportViewer1' is either undeclared or was never assigned. “.

Se si aggiunge un nuovo progetto alla stessa soluzione è necessario creare il progetto, salvare la soluzione, riavviare Visual Studio e quindi si dovrebbe essere in grado di aggiungere il ReportViewer al modulo. L’ho visto non funzionare la prima volta e apparire come una componente non visiva.

Quando ciò accade, rimuovendo il componente dal modulo, eliminando i riferimenti di Microsoft.ReportViewer.* Dal progetto, il salvataggio e il riavvio di solito funzionano.

Per me ha funzionato con i seguenti tre passaggi:

  1. Aggiornamento di Visual Studio all’ultima build.
  2. Aggiunta di report / Creazione guidata report al menu Aggiungi / Nuovo elemento di:
    • Andando al menu di Visual Studio Strumenti / Estensioni e aggiornamenti
    • Scegli Online dal pannello di sinistra.
    • Cerca per Microsoft Rdlc Report Designer per Visual Studio
    • Scarica e installalo.
  3. Aggiunta del controllo del visualizzatore di report tramite:

    • Andando a NuGet Package Manager .

    • Installazione di Microsoft.ReportingServices.ReportViewerControl.Winforms

    • Vai a questa cartella: % USERPROFILE% .nuget \ packages \ microsoft.reportingservices.reportviewercontrol.winforms \ 140.1000.523 \ lib \ net40
    • Trascina il file Microsoft.ReportViewer.WinForms.dll e rilasciatelo in Visual Studio Toolbox Window.

Per le applicazioni WebForm :

  1. Lo stesso.
  2. Lo stesso.
  3. Aggiunta del controllo del visualizzatore di report tramite:

    • Andando a NuGet Package Manager .

    • Installazione di Microsoft.ReportingServices.ReportViewerControl.WebForms

    • Vai a questa cartella: % USERPROFILE% .nuget \ packages \ microsoft.reportingservices.reportviewercontrol.webforms \ 140.1000.523 \ lib \ net40
    • Trascina il file Microsoft.ReportViewer.WebForms.dll e rilasciatelo in Visual Studio Toolbox Window.

È tutto!

Si prega di notare che questa procedura di aggiunta dei servizi di reporting descritti da @Rich Shealer sopra verrà iterata ogni volta che si avvia un progetto diverso. Al fine di evitare che:

  1. Se è necessario configurare un computer diverso (ad esempio, a casa senza Internet), quindi mantenere gli installatori scaricati dal marketplace in un luogo sicuro, ad esempio:

    • Microsoft.DataTools.ReportingServices.vsix e
    • Microsoft.RdlcDesigner.vsix
  2. Scarica le seguenti librerie dai pacchetti o dalla cartella bin dell’applicazione che hai creato con i servizi di reporting in esso:

    • Microsoft.ReportViewer.Common.dll
    • Microsoft.ReportViewer.DataVisualization.dll
    • Microsoft.ReportViewer.Design.dll
    • Microsoft.ReportViewer.ProcessingObjectModel.dll
    • Microsoft.ReportViewer.WinForms.dll
  3. Installa i 2 componenti da 1 sopra

  4. Aggiungi le dll da 2 sopra come riferimenti (Progetto> Riferimenti> Aggiungi …)
  5. (Facoltativo) Aggiungi scheda Rapporti alla barra degli strumenti
  6. Aggiungi elementi alla scheda Rapporti
  7. Passare alla cartella bin o dove si hanno le dll sopra e aggiungerle

Adesso sei a posto! L’icona di ReportViewer verrà aggiunta alla barra degli strumenti e ora troverai i modelli Report e ReportWizard aggiunti al tuo elenco comune di modelli quando vuoi aggiungere un nuovo elemento … (Segnala) al tuo progetto

NB: quando viene impostato utilizzando il gestore pacchetti Nuget, i modelli Report e ReportWizard sono raggruppati in Reporting. Tuttavia, l’utilizzo del metodo descritto sopra non aggiunge il raggruppamento di report nei modelli installati, ma non penso che sia un problema dato che ti consente di integrare rapidamente rdlc senza Internet e senza scaricare tutto ciò che hai già da Nuget ogni volta!