2010-10-27 5 views
2

Je simple .NET 4.0 formulaires Web application qui fait référence à l'espace de noms Microsoft.ReportViewer:Installation et exécution Report Viewer SSRS

<%@ Register assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" namespace="Microsoft.Reporting.WebForms" tagprefix="rsweb" %> 

avec un simple contrôle ReportViewer sur une page:

<rsweb:ReportViewer runat="server" ProcessingMode="Remote"></rsweb:ReportViewer> 

Le projet fait référence à la DLL dans C: \ Program Files ...... \ Microsoft.ReportViewer.dll. Le projet est actuellement configuré pour ne pas copier le .dll à bin sur Compile.

Au cours du déploiement, devrais-je modifier l'action de construction à Copier = true et copier tous les fichiers .dll à partir du répertoire bin ou dois-je copier la dll ReportViewer de son emplacement d'origine? Aussi, aurai-je besoin d'exécuter une installation sur le serveur (Windows Server 2008, IIS7)?

Il semble fonctionner en copiant simplement la DLL (à partir de l'un ou l'autre emplacement). Mais je ne suis pas sûr de la méthode de déploiement normale.

Répondre

2

Il existe plusieurs options.

  1. Vous pouvez faire comme vous le dites, et réglez le Copy Local à true. Cela va copier la DLL dans votre dossier bin.
  2. Vous pouvez register the DLL in your Global Assembly Cache (GAC). Cela nécessite que vous ayez accès au serveur.

Pour moi, le choix se résume au contrôle du serveur et au nombre de projets qui utiliseront cette DLL sur votre serveur.

+0

Il semble également avoir besoin de ReportViewer.Common. Dois-je exécuter une installation sur le serveur au lieu de GAC ou de copier des DLL? –

+0

Pas sûr, vous pouvez faire la même chose avec la DLL. Je sais avec MVC que je dois le faire avec 3 DLL sur un hébergement partagé. –

+0

Je vais juste au GAC les bibliothèques et laisser CopyLocal = false. Je posterai si j'ai des problèmes. Merci pour l'aide. –

Questions connexes