ASP NET NAO LOCALIZA A DDL DO MYSQL

RENE9000 03/07/2013 09:22:46
#425496
Pessoal,

Estou começando a desenvolver em Asp.Net com MySql via VS2010.

Iniciei um projeto simples de acesso a base de dados e quando faço o teste via desktop acessando o site, tudo funciona bem, porém, quando coloco o aplicativo no site, recebo o erro:

[Ô]Could not load file or assembly [ô]MySql.Data, version=6.6.5.0, ....[Ô] or one of its dependencies. The system cannot find the file specified[Ô]

Já coloquei no site a pasta /bin com a DLL específica na versão correta, mas continua com a mesma mensagem.

Por favor, o que está faltando ?

Grato,
Renê

KERPLUNK 03/07/2013 11:11:07
#425501
Não basta [Ô]copiar a DLL[Ô], você tem que instalar no server o client do MySQL
RENE9000 03/07/2013 12:41:19
#425506
O ambiente é locado de um provedor que pelo contrato, já disponibiliza o MySql para acesso.

E isso de fato está correto porque acesso pela ferramenta de administração do próprio provedor e pelo sisteminha que fiz pelo desktop.

Li alguma coisa sobre definir a dll como [Ô]cópia local[Ô] na aplicação, mas pelo VS2010 não achei como fazer isso.

é necessário fazer algo assim no VS2010 ?
RENE9000 04/07/2013 14:45:55
#425569
Bom pessoal.

Depois de pesquisar muito esse problema, finalmente achei a solução.
O problema é que quando criamos uma aplicação WEB no VS2010 e colocamos referencias, elas são colocadas como estando no GAC ou no BIN.
No caso do MySql.Data, como o adicionamos de algum diretório em disco no desktop, ele terá como atributo BIN, ou seja, ele deve estar no diretório /bin da aplicação.
O VS2010 criará esse diretório obviamente dentro do projeto que se está criando, e é aí que está o problema.
Quando você publicar na web, certamente colocará o /bin exatamente como foi colocado pelo VS, porém ao chamar a aplicação na web, surgirá a mensagem que aquela DLL não pode ser encontrada.
Isso porque o browser na verdade procurará essa biblioteca no diretório raiz do site, ou seja, independente do diretório que você crias suas aplicações na web, o diretório /bin deve sempre ficar na raiz do site.

é isso ai...
[]s
Renê
Tópico encerrado , respostas não são mais permitidas