Categorias
crystal reports dicas

Calculando saldo final no Crystal Reports

Antes de come??ar o artigo, queria dizer que nesse m??s irei responder muitas das quest??es que recebo por e-mail (calma que um dia sempre respondo) em forma de artigo, ent??o muitos deles ser??o curtos e r??pidos. Uma das respostas ser?? nesse artigo.
Bem, como calculo o saldo, linha a linha, de entradas e sa??das no Crystal Reports? De forma bem simples: uso de vari??veis globais. Um bom artigo que sempre recomendo ?? o de Vince Varallo: n??o tem erro!
Supondo que voc?? tenha o seguinte relat??rio e com os respectivos campos:

Esses dados j?? devem ser puxados do DataSet utilizado (na d??vida, veja o post de criar relat??rios). Agora adicionamos um Formula Field com o nome SALDO.

Clique em Use Editor e escreva a seguinte f??rmula:

Global NumberVar SALDO_FINAL;

if (RECORDNUMBER = 1) then
    SALDO_FINAL := @ENTRADA – @SAIDA
else
    SALDO_FINAL := SALDO_FINAL + @ENTRADA – @SAIDA

Ou seja, na primeira linha obtenho o saldo inicial diminuindo a ENTRADA da SAIDA. Nos demais j?? adiciono o saldo anterior. Tranquilo? Agora basta adicionar no relat??rio esse campo criado.

Categorias
banco de dados cloud server crystal reports dll erros iis locaweb plesk sql server windows

Mega Post de Erros

Lidar com erros ?? algo realmente muito chato… Chato demais! Esses dias fui convocado para fazer um certo trabalho de migra????o entre servidores. Um desses servidores era um Cloud Server Pro da Locaweb. Em muitos posts que aqui escrevi tem um pouco retratando sobre a Locaweb. Trabalho e j?? trabalhei muito com ela e sei de todos os seus passos e “artimanhas” de atendimento… O antigo Cloud Server foi at?? tranquilo de trabalhar, mas esse novo… Vamos aos problemas!

Uma dica que dou sempre quando algu??m quer contratar um servidor: leiam muito sobre os pr??s e contras. Os pr??s vejam no pr??prio site do prestador, os contras vejam nos relatos de usu??rios. No post a seguir n??o estou jogando a Locaweb contra a parede, apenas estou expondo erros que podem ser sanados de forma f??cil mas que burocraticamente ?? jogado para o cliente se virar (nos 30!).

Nesse Cloud Server vem embutido o Plesk. Em poucas palavras serve para gerenciar a hospedagem atrav??s de uma interface web. ?? uma boa ferramenta de ger??ncia, tem tudo para gerenciar sua hospedagem. S?? que esse demais gera ocupa????o demais (redund??ncia) de espa??o em disco. Dos 50 Gb que voc?? contrata, 40Gb ?? para o sistema operacional e 10Gb para seus arquivos. Sendo que dos 10Gb ?? para todos os seus arquivos, e-mails, banco de dados, etc. Ou seja, apenas usufrui dos 10Gb um pouco menos que 9Gb e olhe l??.

Bem, dizem que vem tudo preparado e instalado para usar… Verdade at?? certa parte! Quem est?? usando e ?? iniciante vai ver que ?? mil maravilhas. D?? para fazer o b??sico de tudo. O problema vem a seguir…

Um cliente contratou o Cloud Server gerenciado pelo cliente (ou seja, sobrou para o usu??rio final) e me passou para configurar e deixar no ponto de uso fazendo toda a migra????o e instala????o. Em um passe de m??gica surgem os problemas…

Os bancos de dados que vem s??o o MS SQL Server 2008 e o MySQL. N??o h?? interface para dump e recovery das bases for??ando a usar o Plesk para isso, mas n??o queria. Onde est?? o Management Studio 2008? Onde est?? o MySQL Workbench? Como vou fazer para migrar as bases? Gerar script de bancos gigantes? Nem pensar! Preciso instalar!

Mas como instalar esses aplicativos? Se fazer download, gera tr??fego. Se pedir para a Locaweb tem que pagar e se pedir, de gra??a, n??o instala! Lembrando que esses aplicativos, no m??nimo, s??o gratuitos e deveriam estar em uma zona em que os usu??rios pudessem obt??-los de forma f??cil e sem cobran??a. Pois bem, feito o download, hora de instalar. Abrindo o execut??vel (lembrando que tem que ser a da vers??o 64bits) d?? aviso de incompatibilidade. ?? preciso instalar o Service Pack 1 do SQL Server 2008 (mais tr??fego). Baixado o SP1 ?? preciso instal??-lo. Tranquilo e instalado sem problemas. Hora de instalar o Management Studio

Ao tentar abrir, outro problema?!?! ?? preciso do Framework 3.5! Incrivel… No Cloud Server vem instalado a vers??o 2.0 e 4.0 do Framework ASP.NET mas n??o tem a 3.5 ativado. Menos mal, porque no Windows Server 2008 ?? nativo, basta ativar. Realize os seguintes passos (retirado do Wiki):

  1. Clique em Start, Administrative Tools e selecione Server Manager;
  2. Na interface, clique em Features e clique em Add Features;
  3. Selecione a primeira op????o .NET Framework 3.5.1 Features e adicione todos seus dependentes;
  4. Conclua a instala????o do Framework.

Agora sim, tudo pronto! Vamos instalar o Management Studio. Clica no instalador e… Erro! Caramba… de novo!

TITLE: SQL Server Setup failure.
——————————-


SQL Server Setup has encountered the following error:


Invoke or BeginInvoke cannot be called on a control until the window handle has been created.

A dica ??: feche o Windows Explorer! Por algum motivo, a instala????o do Management Studio n??o inicia quando o Windows Explorer estiver em aberto. Copie para a ??rea de Trabalho e abra o instalador… Agora sim! Depois de tanta malemol??ncia pelo menos iniciemos a instala????o. Para quem tem d??vidas e um passo-a-passo bem explicativo de como instalar o Management Studio, acesse aqui o post de Marcos dell Antonio. H?? uma dica bem interessante que pode confundir o usu??rio na hora da instala????o. Terminado a instala????o, menos um item da lista de afazeres.

Consegui conectar ao SQL Server local, criei as bases, usu??rios, fiz restores, configurei o backup, providenciei tudo o que tinha que fazer onde o Plesk jamais pensaria em um dia ser. Agora o principal, testar um website. Publiquei o site no IIS e abri o navegador para visualizar. Erro!

Could not load type ‘System.ServiceModel.Activation.HttpModule’ from assembly ‘System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089’.

Sabe o porqu?? disso? Eu instalei o ASP.NET 3.5 depois que eu j?? tinha a vers??o 4.0 instalada por causa do Management Studio ent??o gerou conflito nas DLL’s. Para resolver, fa??a o seguinte:

  1. V?? para a pasta C:WindowsMicrosoft.NETFramework64v4.0.30319;
  2. Execute o comando aspnet_regiis.exe -iru

Agora vamos testar! Abri o navegador e digitei o endere??o e… Mais erro!

There is a duplicate ‘system.web.extensions/scripting/scriptResourceHandler’ section defined

Mais conflitos! Se voc?? tiver outra vers??o do System.Web.Extensions instalado, devido ao ASP.NET AJAX por exemplo, a vers??o que est?? no GAC do sistema difere da que voc?? quer chamar ocorrendo ambiguidade. O correto seria alterar os assemblys mas como isso ?? muito trabalhoso e pode acontecer algum imprevisto para aqueles que n??o sabem manuse??-las, ent??o aconselho o seguinte: remova toda a sectionGroup do seu web.config ou comente-as:

<!–
<sectionGroup name=”system.web.extensions” type=”System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″>
<sectionGroup name=”scripting” type=”System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″>
<section name=”scriptResourceHandler” type=”System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″ requirePermission=”false” allowDefinition=”MachineToApplication” />
<sectionGroup name=”webServices” type=”System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″>
<section name=”jsonSerialization” type=”System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″ requirePermission=”false” allowDefinition=”Everywhere” />
<section name=”profileService” type=”System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″ requirePermission=”false” allowDefinition=”MachineToApplication” />
<section name=”authenticationService” type=”System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″ requirePermission=”false” allowDefinition=”MachineToApplication” />
</sectionGroup>
</sectionGroup>
</sectionGroup>
–>

No caso comentei o sectionGroup do System.Web.Extension que pode estar na vers??o 1.0, 2.0 ou 3.5 que for.

Agora vamos l??! De p??s juntos e m??os dadas: Abre o navegador e… e… e… Funcionou! Depois de um ??rduo trabalho aparentemente tudo estava normal. Vamos testar outros sites e… e… e… Mais erros!

Quem ainda n??o est?? acostumado a trabalhar com Windows Server 2008 e IIS 7 ter?? que aprender muito sobre permiss??es e tratamento de erros. Incontestavelmente a tela do erro 500 ir?? aparecer e muito se sua aplica????o n??o estiver configurada adequadamente para o IIS 7. Nem sempre a mesma aplica????o que est?? no IIS 6 ir?? funcionar no IIS 7. Ent??o eis que surge a tela do Erro 500 Erro Interno do Servidor ou Error 500 Internal Server Error:



Ou ent??o:

D?? para descobrir o que ??? Vou dar a dica: revise seu web.config. “Ah, mas est?? tudo certo, n??o sei porque n??o funciona…”. Engano, est?? errado. J?? disse que o IIS 7 ?? chato, muito chato. O parser dele ?? muito minucioso e se n??o estiver nos padr??es vai dar problema.

Se voc?? n??o sabe utilizar bem o IIS e tem medo de alterar uma coisinha ali e outra acol?? vou dar a maior dica: saia abrindo cada op????o do painel da aplica????o at?? que uma delas acuse um erro de configura????o.

Por exemplo, abra o item Documento Padr??o. Se ele estiver configurado corretamente ent??o abrir?? a pr??xima tela normalmente. Se tiver algum erro, aparecer?? um alerta. Ent??o no web.config voc?? deve corrigir a sess??o correspondente. Ficou claro? Saia clicando um a um at?? que um deles se denuncie podendo ent??o fazer a corre????o.

O que ocorreu comigo foi que um site que estava no IIS 6 podia colocar a mesma p??gina (index.aspx) como padr??o, duas vezes, e n??o tinha problema. Quando foi para o IIS 7, na qual estava herdando a configura????o pai, e foi adicionar a p??gina index.aspx como padr??o novamente, ele dava erro e n??o sabia porqu??. Ent??o removi a entrada do web.config e funcionou. Desabilitar a mensagem de erro amig??vel no navegador vai funcionar (encontrar o erro)? N??o. Desabilitar as p??ginas de erros personaliz??veis do IIS vai funcionar (encontrar o erro)? Talvez ou n??o. Depende muito do ambiente que est?? configurado e quem est?? manipulando.

Pronto! Mais um problema solucionado… Vamos testar outro site e… e… e… Erro! Agora aconteceu um erro 404. Mas como? Erro 404 de p??gina n??o encontrada mas se o caminho est?? l??? Incrivelmente no IIS do Cloud Server possuem dois Applications Pools do Plesk (e mais outros nativos): Plesk(default)(2.0) e Plesk(default)(4.0). O pool do 2.0 quase nem sempre funciona. E um comportamento anormal ?? que se voc?? tem um site pai em 2.0 e um filho em 2.0 ??s vezes p??ra de funcionar. O “correto” ?? ter um pai 2.0 ou 4.0 com filho sempre 4.0. Estranho? Pode crer! E onde est?? o pool do 3.5? Tem que criar na m??o mesmo.

Nota: Se voc?? reiniciar o IIS o Plesk p??ra de vez e n??o volta:

Voc?? ter?? que inici??-lo manualmente. Mas antes ter?? que iniciar seu pool tamb??m (que ?? muito suspeito):

 Ajeitado uma coisinha ali, outra aqui, vamos testar mais algumas coisas e… e… e… Quase tudo certo. Em quest??o de funcionalidade (que deveria ser) est?? quase tudo certo a n??o ser o funcionamento do bom e velho Crystal Reports. Quem j?? leu o post de erros do Crystal aqui e aqui nos deparamos com o erro:

O inicializador de tipo de ‘CrystalDecisions.CrystalReports.Engine.ReportDocument’ acionou uma exce????o

ou

The type initializer for ‘CrystalDecisions.CrystalReports.Engine.ReportDocument’ threw an exception

Cuidado! Esse n??o ?? o descritivo do erro. S?? com isso n??o d?? para saber o motivo. Fa??a o debug, log,  exibi????o da pilha ou na pr??pria tela exiba o erro (sem ter AJAX) que teremos o erro completo. No link dos dois posts anteriores que fiz explica o problema do Crystal na plataforma 64bits e como pode resolver. S?? que o problema no meu caso era permiss??o.

Server Error in ‘/virtual_directory_name’ Application.
Error in File UNKNOWN.RPT:
The request could not be submitted for background processing.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.


Exception Details: System.Runtime.InteropServices.COMException: Error in File UNKNOWN.RPT: The request could not be submitted for background processing.

Os usu??rios listados abaixo, n??o tinham permiss??o na execu????o de scripts DCOM e grava????o em algumas pastas (principalmente as que est??o na unidade C):

  • IWAN_plesk(default)
  • IUSR
  • IIS_IUSR
  • NETWORK SERVICE
  • INTERACTIVE

Esses s??o os usu??rios que devem ter privil??gio (descritos abaixo) nas pastas listadas abaixo:

  • C:WindowsTemp : leitura escrita
  • C:Program Files (x86)Business ObjectsCommon2.8bin : leitura
  • C: : leitura

Obs: Para alguns servidores ?? preciso aplicar o Replace permission entries on all child objects nessas pastas.

Lembrando de reiniciar o IIS e/ou o servidor para recarregar as configura????es.

Se estiver trabalhando com Windows Service ou Windows Form e ocorra o erro:

System.IO.FileNotFoundException: Retrieving the COM class factory for component with CLSID {5FF57840-5172-4482-9CA3-541C7878AE0F} failed due to the following error: 8007007e

Basta compilar sua aplica????o em x86.

E agora, tudo certo? At?? o momento sim. Porque n??o dizer que est?? tudo OK? Depois de ter ocorrido todos esses problemas, fica-se receoso com o futuro. Pode ser que ocorra outro problema posteriormente? Sim e ir??.

Conforme disse anteriormente, o post n??o ?? para dizer mal sobre a Locaweb e/ou Plesk. Acho que eles prestam um servi??o adequado para o n??vel nacional (at?? uso) contudo s??o coisas que acontecem que simplesmente poderiam ser sanadas antes de jogar o pepino para o cliente. Se voc?? tiver algum problema desses e sua ger??ncia for pelo cliente, nem adianta pedir que eles v??o lhe informar: “o gerenciamento ?? por conta do cliente e n??o nos responsabilizamos” ou “a ferramenta (Plesk) ?? terceirizada e n??o prestamos suporte.”. Enfim, espero que o post ajude a voc??, cliente e usu??rio, a corrigir seus problemas/pepinos que ocorrerem. Isso me lembra quando lan??ou o plug-and-play… a velha piadinha do plug-and-pray (ligar e rezar) n??o some da cabe??a quando ocorre esse tipo de problema. Porque ser???

Categorias
crystal reports relat??rio

Gerando relat??rios com o Crystal Reports

O Crystal Reports ?? um componente que permite a cria????o de relat??rios personalizados de alto n??vel. Em substituto de relat??rios em HTML puro, ele fornece uma assist??ncia inovadora desde a cria????o at?? exporta????o. Para quem utiliza Java, h?? tamb??m uma vers??o espec??fica para a linguagem. Mostraremos abaixo como gerar um simples relat??rio buscando dados de uma tabela em banco usando C#.

Abra/Crie um projeto do tipo Web Site no Visual Studio e no Solution Explorer clique com o direito no diret??rio onde deseja criar o relat??rio. Escolha Add New Item e opte pelo template Crystal Reports (note que a extens??o de relat??rio do Crystal ?? .rtp). Nessa primeira tela escolha a primeira op????o conforme a figura abaixo:

Clique em OK. Expanda o n?? do Create New Connection e novamente expanda o OLE DB (ADO) para configura????o de conex??o (essa ?? a primeira conex??o com o banco para in??cio, depois mostraremos como usar para outro banco). Na configura????o do ADO, escolha o tipo de provider a ser utilizado (no caso optei pelo SQL Server, ent??o SQL Native Client) e d?? Next.

Agora, em Connection Information, informe os dados de conex??o.

Clique em Next e na ??ltima tela revise os dados. Se estiver tudo certo, clique em Finish. Voc?? voltar?? ?? tela anterior j?? com a configura????o realizada e o banco estar?? apto a selecionar os objetos. Procure qual objeto ir?? ser manipulado e exibido seus dados, podendo ser: uma tabela, um schema, uma view ou stored procedure. Clique no objeto desejado e, em seguida, clique no bot??o com a seta para direita conforme figura abaixo:

Clique em Next. Agora informe quais campos ir??o ser exibidos e escolha Next.

Na pr??xima tela, se precisar agrupar alguns campos, informe quais s??o. Se n??o precisar d?? apenas Next. Se o Crystal identificar que est?? trabalhando com n??meros, ele cria um passo adicional que ?? a op????o de inserir gr??ficos. Outra tela que ?? exibida ?? a de Filtros. Se for ter filtros, informe-os. Caso contr??rio d?? apenas Next. Ou seja, as duas ??ltimas telas s??o par??metros opcionais logo, se n??o desejar configur??-los, d?? Next duas vezes. O ??ltimo passo ?? escolher o estilo. Opte pelo mais parecido que quer e d?? Finish.

Basicamente seu relat??rio est?? pronto, bastando ajustes da posi????o dos campos, design, cabe??alho, etc. Em Field Explorer, cont??m as principais funcionalidades para f??rmulas e c??lculos avan??ados bem como a adi????o de novos campos. Como estamos elaborando um relat??rio simples, vamos parar por a??. Para ver um preview de como estar?? seu relat??rio com os dados, clique em Main Report Preview. Agora vamos ver como chamar pelo ASP.NET (C#).
Adicione uma p??gina Impressao.aspx e nele adicione um objeto CrystalReportViewer que automaticamente ir?? ser registrado o assembly na p??gina (puxando do ToolBox ele insere automaticamente). Se prefer??vel configure alguns atributos do objeto como remo????o da logo da BO, tema, etc. No code-behind, adicione os seguintes namespaces:

using CrystalDecisions.ReportSource;
using CrystalDecisions.Shared;
using CrystalDecisions.CrystalReports.Engine;
 
E para exibir os dados do relat??rio utilize o seguinte c??digo:
 
DataSet ds = new DataSet();
// Antes, fa??o uma consulta no banco e jogo no DataSet para ser usado logo abaixo
ReportDocument relatorio = new ReportDocument();
relatorio.Load(Server.MapPath(“Relatorio.rpt”));
relatorio.Database.Tables[0].SetDataSource(ds.Tables[0]);
// Esse ?? Viewer que puxamos antes
CrystalReportViewerRelatorio.ReportSource = relatorio;
CrystalReportViewerRelatorio.DataBind();
 
Pronto! Seu relat??rio ser?? exibido…
 

 
Agora vamos aos problemas:
 
1) Fiz todo o processo mas ao exibir o relat??rio est?? pedindo login e senha do SQL Server
 
Se estiver usando DataSet, veja que s?? pude passar uma tabela por vez usando ds.Tables[0] e n??o apenas ds. Se quiser passar v??rias tabelas crie um DataSet tipado no App_Code ou informe uma a uma no atributo Database.
 
2) As imagens dos bot??es do relat??rio n??o est??o aparecendo e ao clicar n??o funciona nada
 
Ao ser colocado em produ????o, verifique se o Crystal Reports est?? instalado corretamente na m??quina. Veja se a pasta wwwrootaspnet_clientsystem_web cont??m a pasta CrystalReportWebFormViewer (depois da pasta system_web vem a vers??o do framework – exemplo 2_0_50727 – e em seguida vem ela). Copie a pasta aspnet_client e adicione na raiz de sua aplica????o.
 
3) Ao exibir o relat??rio est?? aparecendo o erro: N??o foi poss??vel carregar arquivo ou assembly ‘System.Web.Extensions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’ ou uma de suas depend??ncias. A defini????o do manifesto do assembly localizado n??o corresponde ?? refer??ncia do assembly. (Exce????o de HRESULT: 0x80131040)
 
Fa??a os procedimentos informados nesse post.
 
4) Depois que ?? exibido o relat??rio, ao clicar no bot??o de imprimir ou exportar ou qualquer outro bot??o, n??o executa nenhum dos processos que deveria fazer
 
Se estiver usando ASP.NET AJAX e o CrystalReportViewer estiver dentro de um UpdatePanel, remova-o. Pois, ao clicar em desses bot??es, ?? feito um PostBack na p??gina (al??m de tentar abrir uma janela pop-up) e o Crystal n??o funciona adequadamente quando utiliza o AJAX.
 
5) Ao tentar exibir o relat??rio, ocorre o seguinte erro: O inicializador de tipo de ‘CrystalDecisions.CrystalReports.Engine.ReportDocument’ acionou uma exce????o
 
Reinstale o Crystal Reports ou tente as solu????es sugeridas nesse post.
 
6) Minhas imagens e/ou gr??ficos n??o est??o aparendo ao exibir o relat??rio (fica aquele X de imagem n??o carregada) ou ficam distorcidas/baixa resolu????o
 
Se for uma imagem que est?? sendo inserida do disco (que voc?? tem no computador e est?? inserindo atrav??s de Insert > Picture) verifique o formato dessa imagem (prefer??vel JPG ou BMP) e as cores utilizadas bem como efeitos (fundo transparente, camadas). Quanto mais simples a imagem for, melhor ser?? sua visualiza????o. Se apesar de tudo ainda n??o estiver aparecendo, verifique no web.config se h?? as seguintes entradas:

  1. Em system.web > httpHandlers:

    <add verb=”GET” path=”CrystalImageHandler.aspx” type=”CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304″/>
    <add verb=”*” path=”GenerateImage.ashx” type=”GenerateDynamicImage”/>
     

  2. E em system.webServer > handlers:

    <add name=”CrystalImageHandler.aspx_GET” verb=”GET” path=”CrystalImageHandler.aspx” type=”CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304″ preCondition=”integratedMode”/>

7) Meu relat??rio tem mais de 2 p??ginas mas s?? fica exibindo 2/2+ quando clico em avan??ar

Coloque todo o processo de gera????o do relat??rio dentro de Page_Init ou inv??s de Page_Load.

8) Meu relat??rio n??o exibe, a princ??pio, a quantidade total de p??ginas. Fica exibindo 1/1+…

O Crystal faz isso para n??o ter de renderizar todo o relat??rio e sobrecarregar, ent??o fa??a o seguinte artif??cio depois de dar o Bind():

CrystalReportViewerRelatorio.ShowLastPage();
CrystalReportViewerRelatorio.ShowFirstPage();

Ou seja, vou rapidamente para a ??ltima p??gina e volto apenas para o Crystal renderizar a ??ltima p??gina e saber quantas temos ao todo.

Categorias
crystal reports dicas dll

N??o foi poss??vel carregar arquivo ou assembly System.Web.Extensions, Version=2.0.0.0

Dica r??pida para quem tiver esse erro…
Acontece quando est?? utilizando uma vers??o do ASP.NET Ajax diferente do Framework da aplica????o. Muitas vezes, tamb??m, acontece quando est?? utilizando o Crystal Report ao renderizar um relat??rio. Ent??o ?? exibido a seguinte mensagem:
A solu????o ?? simples: basta remover a System.Web.Extensions.dll e/ou System.Web.Extensions.Design.dll do projeto (na pasta Bin).

N??o foi poss??vel carregar arquivo ou assembly ‘System.Web.Extensions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’ ou uma de suas depend??ncias. A defini????o do manifesto do assembly localizado n??o corresponde ?? refer??ncia do assembly. (Exce????o de HRESULT: 0x80131040)