Eu tenho um aplicativo de formulários da web .NET 4.0 simples que faz referência ao namespace Microsoft.ReportViewer:
<%@ Register assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" namespace="Microsoft.Reporting.WebForms" tagprefix="rsweb" %>
com um simples controle ReportViewer em uma página:
<rsweb:ReportViewer runat="server" ProcessingMode="Remote"></rsweb:ReportViewer>
O projeto referencia a dll em C: Arquivos de Programas ...... Microsoft.ReportViewer.dll. No momento, o projeto está definido para não copiar o arquivo .dll na lixeira no Compile.
Durante a implantação, devo alterar a compilaçãoação para Copy = true e copie todos os arquivos .dll do diretório bin ou devo copiar a dll ReportViewer do local original? Além disso, precisarei executar alguma instalação no servidor (Windows Server 2008, IIS7) ?
Parece estar funcionando, basta copiar sobre a dll (a partir de qualquer local). Mas não tenho certeza de qual é o método de implantação normal.
Respostas:
2 para resposta № 1Existem algumas opções.
- Você pode fazer o que disse e definir o
Copy Local
paratrue
. Isso vai copie a DLL na sua pasta bin. - Você pode registre a DLL no seu cache de conjunto global (GAC). Isso exigia que você tivesse acesso ao servidor.
Para mim, a escolha se resume ao controle do servidor e quantos projetos usarão essa DLL no seu servidor.