Une erreur s'est produite lors de local de traitement de rapport.La définition du rapport " est non valide
Je suis nouveau à l'aide de SSRS. Je suis à l'aide d'un .rdlc
fichier pour la génération de rapports en format PDF avec VS 2012. Quand j'ai essayé de définir les paramètres tels que
ReportParameter param = new ReportParameter(kvp.Key, kvp.Value);
LocalReport.SetParameters(param);
Cela déclenche une exception:
Une erreur s'est produite lors de rapports locale de traitement..La définition du rapport " n'est pas valide.. impossible de charger le fichier ou l'assembly 'Système.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' ou une de ses dépendances. L'accès est refusé.
Plus de détails:
{Microsoft.Reporting.WebForms.LocalProcessingException: An error occurred during local report processing. ---> Microsoft.Reporting.DefinitionInvalidException: The definition of the report '' is invalid. ---> System.IO.FileLoadException: Could not load file or assembly 'System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Access is denied.
at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Activator.CreateInstance(String assemblyString, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(String assemblyName, String typeName)
at System.AppDomain.CreateInstance(String assemblyName, String typeName)
at System.AppDomain.CreateInstanceAndUnwrap(String assemblyName, String typeName)
at System.AppDomain.CreateAppDomainManager()
at System.AppDomain.Setup(Object arg)
at System.AppDomain.nCreateDomain(String friendlyName, AppDomainSetup setup, Evidence providedSecurityInfo, Evidence creatorsSecurityInfo, IntPtr parentSecurityDescriptor)
at System.AppDomainManager.CreateDomainHelper(String friendlyName, Evidence securityInfo, AppDomainSetup appDomainInfo)
at System.AppDomainManager.CreateDomain(String friendlyName, Evidence securityInfo, AppDomainSetup appDomainInfo)
at System.AppDomain.InternalCreateDomain(String friendlyName, Evidence securityInfo, AppDomainSetup info)
at System.AppDomain.CreateDomain(String friendlyName, Evidence securityInfo, AppDomainSetup info)
at Microsoft.Reporting.ReportCompiler.CreateCompilationTempAppDomain()
at Microsoft.Reporting.ReportCompiler.CompileReport(ICatalogItemContext context, Byte[] reportDefinition, Boolean generateExpressionHostWithRefusedPermissions, ControlSnapshot& snapshot)
--- End of inner exception stack trace ---
at Microsoft.Reporting.ReportCompiler.CompileReport(ICatalogItemContext context, Byte[] reportDefinition, Boolean generateExpressionHostWithRefusedPermissions, ControlSnapshot& snapshot)
at Microsoft.Reporting.LocalService.GetCompiledReport(PreviewItemContext itemContext, Boolean rebuild, ControlSnapshot& snapshot)
at Microsoft.Reporting.LocalService.CompileReport()
at Microsoft.Reporting.LocalService.Microsoft.Reporting.ILocalProcessingHost.CompileReport()
at Microsoft.Reporting.WebForms.LocalReport.EnsureExecutionSession()
--- End of inner exception stack trace ---
at Microsoft.Reporting.WebForms.LocalReport.EnsureExecutionSession()
at Microsoft.Reporting.WebForms.LocalReport.SetParameters(IEnumerable1 parameters)
at Microsoft.Reporting.WebForms.Report.SetParameters(ReportParameter parameter)
Ce qui me manque. Dans certains postes, il est conseillé d'utiliser manquant Microsoft.ReportViewer.PorcessingObjectMode.dll
. Je l'ai fait alors que j'ai toutes les dll requises comme:
- Microsoft.ReportViewer.Common.dll
- Microsoft.ReportViewer.WebForms.dll
- Microsoft.ReportViewer.ProcessingObjectModel.dll
sont là.
J'ai évoqué ce post. Mais encore, je ne pouvais pas obtenir ce fait.
http://www.prominder.eu/post/2010/02/04/Error-The-definition-of-the-report-Main-Report-is-invalid.aspx
pas trouvé erreur 404Jetez un oeil à I suis “La définition de rapport pour le rapport " xxxx.rdlc " n'a pas été spécifié” dans mon RDLC rapport.
OriginalL'auteur Prasanna | 2014-03-24
Vous devez vous connecter pour publier un commentaire.
EDIT: Solution me semble que c'est le rapport de définition n'a pas été chargé. Il peut être fait par exemple par
Vieux suggestion - ne s'applique pas ici:
Honnêtement, il y a peut être des choses différentes.
Tout d'abord, les paramètres de réglage est spécial. Si vos projets .NET 4 ou supérieur, le moteur de rapport sera exécuté dans un autre domaine d'application de votre application. Donc, vous devez définir des autorisations que les paramètres peuvent être utilisés. Sinon, il rejette tous les paramètres.
Un autre problème pourrait être que vous utilisez un autre ReportViewer version sur votre machine de développement, que sur le déploiement de la machine.
Pas comme maintenant.C'est la même erreur. Je ne sais pas pourquoi il est si..
Peut-être une question stupide de ma part, mais votre code lit la définition de rapport (rdlc) dans l'objet de rapport? Exemple: var reportStream = Système.De la réflexion.De l'assemblée.GetExecutingAssembly(). GetManifestResourceStream("ReportName.rdlc"); localReport.LoadReportDefinition(reportStream);
OriginalL'auteur Mil
Dans mon cas , Dans l'environnement local, le rapport de travail a été mais pas dans l'environnement de test .
la raison en est , le dossier que j'ai publié mon code n'a pas l' .rdlc fichier lui-même . Qui a provoqué cette erreur.
ou
Avant de faire publier votre application , cliquez-droit sur l' .rdlc fichier et goto propriétés, puis choisissez le contenu en vertu de l'Action de Construire . Ensuite publier la demande et de vérifier le dossier .rdlc fichier sera là.
Maintenant déplacer ce à partir de votre environnement de dev à d'autres de l'environnement.
Espère que cela peut aider quelqu'un.
OriginalL'auteur Dhamu
Le moyen facile de le faire , aller dans les propriétés de votre
".rdlc" fichier et modifier l'Action de Construire de "Contenu"
Copier dans le Répertoire de Sortie pour "Copy" ,
et si vous changez le numéro de version de Microsoft".ReportViewer.WebForms" , "De Microsoft.ReportViewer.ProcessingObjectModel" , "De Microsoft.ReportViewer.Commun"
assurez-vous d'aller dans les propriétés et les faire version spécifique pour être vrai en vertu de la propriété . Nous avons exploré toutes les solutions et, Enfin, Cela a fonctionné.
OriginalL'auteur URVIL SHAH
J'ai fait face à la même question quand j'ai déployé une application azure. Après plusieurs heures de débogage, j'ai remarqué que Microsoft.SqlServer.Les Types n'était pas la même version avec les autres dll.
Par conséquent, vous devriez vous assurer que ces dll sont de la même version. Modifier leur dépendance au Web.config comme indiqué ci-dessous
OriginalL'auteur Ifesinachi Bryan
Pour moi, c'était parce que je n'avais pas ajouté une référence à la déclaration des assemblées (
Microsoft.ReportViewer.*
) pour le projet.Pour une raison quelconque, il a travaillé lors de l'exécution de VS, mais l'exécution du réel publiée sur le site serait à l'origine de cette erreur.
OriginalL'auteur Dave Cousineau