none
Report Viewer - Visual Studio 2009 RRS feed

  • Pergunta

  • Galera estou com um problema na rederização do report viewer aparece o a menagem (the definition of the report 'Main Report' is invalide).

    Bom quando eu chamo ele direto do visual studio, ele gera o ralatorio normalmente, esse erro esta aparecendo quando eu chamo pelo IIS do windows XP.

    ja vi muio erros parecidos na internet e no forum mais nenhum solucionou o mu problema:

    Possiveis Soluções encontrada no forum e WEB:

    1- instalar o runtime do reporViewer, inatalado e continuou no msm erro.

    2- copiar as dll, microsoft.ReportViewer.WebForm.dll, microsoft.ReportViewer.common.dll e microsoft.ReportViewer.processingObjectModel.dll, copie todas na pasta BIN do caminho ISS e estorou um erro de assembly por causa desta ddl microsoft.ReportViewer.processingObjectModel.dll.

    nao sei se fiz alguma coisa de errado nas dll, mais sera quem te algum outro metodo para resolver esse problema??

    quinta-feira, 8 de abril de 2010 15:59

Todas as Respostas

  • Diego,

     

    Isso é problema de ambiente. No IIS é possível configurar a versão do framework sendo utilizado para aquela aplicação.

     

    Você já tentou publicar essa aplicação em outro servidor?

     

    []'s

    quinta-feira, 8 de abril de 2010 18:04
  • Ainda nao, pois trabalho em ambiente remoto.

    mais não tem nenhum jeito de rodar o relatorio pelo IIS??

    grato Diego Pinheiro

    quinta-feira, 8 de abril de 2010 18:08
  • Diego,

     

    Tem sim, inclusive tenho vários rodando aqui.

     

    Já visualizou a versão do ASP.NET que está no IIS ?

    As referências que você está utilizando estão no GAC?

    Como você está publicando no IIS? Através do "Publish" do Web Application ou Web Site? Tem uma propriedade dos arquivos .rdlc "Build Action", defina para "Content".

    quinta-feira, 8 de abril de 2010 18:18
  • 1 - eu visualizo o site todo no IIS, so da erro no report mesmo.

    2 - O que e GAC?? nunca ultilizei o IIS... e como faço as referencia nele??

    3 - atraves do publish Web application, a propriedade ja esta como "Content".

    quinta-feira, 8 de abril de 2010 18:31
  • Para visualizar a versão do ASP.NET no IIS :

    http://public.blu.livefilestore.com/y1pojMh5mqmlirGvV1vmrYujzreTK7c95aZ4KtK-8U_llOOOGB4-amxMWsq5adlbEFVZAZiwIm5zODxMEdkRmSTJw/ASPNET-IIS.jpg

     

    O GAC pode ser entendido como uma pasta no caminho C:\WINDOWS\assembly

    Veja se essas dlls estão lá, se não o ato de drag and drop instalará elas no GAC.

     

    quinta-feira, 8 de abril de 2010 18:40
  • a versao é 2.0.50727,

    ja esta la todas as dll e as 3 do report viewer tambem se encontram la.

    quinta-feira, 8 de abril de 2010 18:47
  • Precisamos saber se é problema de ambiente.

    Tenho quase certeza que se você publicar essa aplicação em outro servidor ela funcionará.

    Você consegue localizar o arquivo .rdlc no caminho C:\Inetpub\wwwroot\<nomeAplicação>?

    Tem como você me fornecer mais detalhes? Um print screen da tela de erro, o aspx da página em que está o componente report viewer, um print screen do Solution Explorer?

    Pode ser até por email, sei lá.

    quinta-feira, 8 de abril de 2010 18:56
  • nao ela nao aparece, posso sim me mande o seu e-mail ou me mande um para  diegosmatos@gmail.com
    quinta-feira, 8 de abril de 2010 19:00
  • O que não aparece? o <nomeDoRelatorio>.rdlc?

    Meu email é diegompin@gmail.com
    quinta-feira, 8 de abril de 2010 19:02
  • isso nao aparece o arquivo .rdlc nao.

    ja estou mandando o e-mail com os print do erro

    quinta-feira, 8 de abril de 2010 19:11
  • É esse o problema! Era para estar lá!

    Faz o seguinte, copia o arquivo da pasta do projeto e cola ele hierarquicamente igual na pasta wwwroot. Entendeu?

    quinta-feira, 8 de abril de 2010 19:13
  • Cara o problema é coms os assemblies.

    Você tem que ter certeza que as versões e os publicKeyTokens dos asseblies que estão no Refereces do projeto Web e no web.config BATEM com os que estão no GAC.

    Possivelmente são diferentes.

    Checa isso.

    quinta-feira, 8 de abril de 2010 19:22
  • man, mais por ele estar com a propriedade "Build Action", como "Content" ele vai gera o arquivo .rdlc na pasta raiz ex "c:\homologacao\pasta\<nomearquivo>.rdlc " e ja coloquei la hiraquicamente nesta pasta e nada a minha versao do IIS é 5.1 soh para constar.

    teste feito: wwwroot\Pages\arquivo.rdlc  -----------     wwwroot\arquivo.rdlc ------------ wwwroot\aspnet_client\Sysem_web\Pages\arquivo.rdlc  ---------- wwwroot\aspnet_client\Sysem_web\arquivo.rdlc  e continua com o msm erro.

    quinta-feira, 8 de abril de 2010 19:27
  • na foto Você tem como ve o meu assembly, o unico q nao esta la e o "ProcessingObjectModel.dll" pq se eu acrescentar essa linha da erro no webconfig.

    e esta tudo batendo, no assembly versao= 9.0.0.0 publicKeyTokens=b03f5f7f11d50a3a nao tem nada de errado.

    eu conferir as dll em c:\windows\assembly.

    quinta-feira, 8 de abril de 2010 19:34
  • No meu GAC tenho as versões 9.0 e 8.0, mas no Web.config referencio a 9.0.

     

    E, importante também, no References, tem o assemblie lá também e é a versão 9.0.

     

    O problema é esse. O Loader não está localizando uma das dlls

    quinta-feira, 8 de abril de 2010 19:39
  • esto entendendo, mais como eu faço para descobri qual é essa dll que ele nao esta achando?? o que vc acha q eu posso fzer para ele encontra essas dll??
    quinta-feira, 8 de abril de 2010 19:43
  • http://msdn.microsoft.com/en-us/library/e74a18c4(VS.71).aspx

     

    Essa ferramenta fornece todas as informações das dlls que a CLR do .NET está tentando carregar em tempo de execução.

    Ai vai estar um log de algum assemblie que ocorreu um erro ao tentar carregar.

    As vezes o Fusion está ativado, às vezes não.

    Veja se você descobre ai.

    quinta-feira, 8 de abril de 2010 19:46
  • valeu vou tentar agora. daqui a pouco dou um retorno.
    quinta-feira, 8 de abril de 2010 19:48
  • Linguagem -- c#

    Report -- ReportViewer.

    Meu projeto é composto de 10 relatórios, sendo todos abertos dentro de uma master,  o problema era que localmente os formulários funcionavam perfeitamente, após publicar simplesmente os mesmos davam o erro:

    An error occurred during local report processing.

    •  
      • The report definition for report '… .rdlc' has not been specified
        • Could not find a part of the path '… .rdlc'.”

    Após quebrar a cabeça consegui resolver este problema. Segue abaixo a resolução:

    1ª Verifique no GAC do servidor se as dlls do ReportViewer estão lá, são elas:

    Microsoft.ReportViewer.Common

    Microsoft.ReportViewer.DataVisualization

    Microsoft.ReportViewer.ProcessingObjectModel

    Microsoft.ReportViewer.WebForms

    Microsoft.ReportViewer.WinForms

    Caso elas não se encontrem podem ser copiadas e incluídas no GAC.  Em vez de copiar uma por uma via DOS, vá no run e coloque "c:\windows\assembly\GAC_MSIL", desta forma o GAC será aberto e você pode copiar as pastas.

     

    2ªMesmo o projeto estando organizado em pastas não terá problema, como alguns sites falam, o importante é mudar a propriedade Build Action dos arquivos .rdlc para Contend, desta forma os arquivos  rdlc serão incluídos no projeto quando publicados. 

    Não sendo feita o 2ª item o erro será:

    An error occurred during local report processing.

    The report definition for report '… .rdlc' has not been specified

    Could not find a part of the path '… .rdlc'.”

     

     

    3ª Abra o IIS, vá até o site>propriedades>Aba ASP.NET clic no botão Edit Configuration

    Vá na aba Application, observe que a Linguagem default da página deve estar  com a linguagem diferente da sua (no meu caso estava vb e deveria ser C#) mudei a linguagem para c#.

    Não sendo feita o 3ª item o erro será:

    ASP.NET session has expired or could not be found

     

    Pronto Srs,  o que tive de fazer foi isto, boa sorte a todos

    sexta-feira, 29 de abril de 2011 19:39