Página 1 de 1

[Resolvido]Problemas com proj. c# class library e app.config

Enviado: Sáb Jan 18, 2014 8:42 am
por LEANDRO ALVES
Saudações Caro Tomás,

Depois de uma temporada sem aparecer aqui estou precisando de ajuda e se o amigo puder me ajudar ficarei muito agradecido.
Estou com uma dificuldade ao criar uma aplicação C# com camadas separadas fisicamente ( 3projetos em uma Solution).
Não estou conseguindo fazer com que o projeto DAL (acesso a dados) leia o app.config para obter a ConnectionString. Nas imagens em anexo eu mostro onde o erro acontece. Eu incluí a referência System.Configuration para o projeto e também o seu respectivo namespace no projeto, mas rodo a aplicação sempre acusa uma referência nula. Simplesmente não lê o app.config. Já procurei sobre este problema no google e não consegui uma solução. Será que você poderia me dar uma dica de como resolver? O interessante é que se eu inserir a ConnectionString no projeto a aplicação roda normalmente. Ou seja, aplicação não está conseguindo ler o app.config mesmo. Eu poderia deixar ConnectionString dentro do projeto, mas isso fere uma das regras de boas práticas de programação. Outra observação é que se eu criar uma aplicação sem camadas ou criar classes library em um só projeto o app.config é lido sem nenhum problema. :cry: Espero ter sido claro. :lol:

Segue o código do app.config

Código: Selecionar todos


<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
    </configSections>
    <connectionStrings>        
        <add name="DAL.Properties.Settings.Setting" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="C:\BancoDados\dados.mdb"
            providerName="System.Data.OleDb" />
    </connectionStrings>
</configuration>


Desde já agradeço a sua atenção

Grato

Leandro Alves

Re: Problemas com projeto c# class library e app.config

Enviado: Seg Jan 20, 2014 2:50 pm
por webmaster
Leandro,

O app.config precisa estar no projeto camadaUI. Mesmo que a dll DAL esteja em outro projeto, quem a instancia é o projeto camadaUI. Quando a propriedade for chamada, ela existirá no contexto.

Já tentou isso?

Abraços

Re: Problemas com projeto c# class library e app.config

Enviado: Seg Jan 20, 2014 5:43 pm
por LEANDRO ALVES
Olá Tomás,

A solução que me deu foi simples e eficaz. Eu saí mudando o app.config de todos os projetos testes para a camadaUI e funcionou perfeitamente em todos. :D
Não achei esta ideia em site nenhum. Muitíssimo obrigado mesmo pela dica.

Interessante a dll DAL não conseguir ler o app.config por si só, porque na verdade, a camada de Interface não deveria saber nada de dados, e no entanto, tem que guardar a connectionString no caso de uma aplicação em 3 camadas físicas. O importante é que funcionou, não é mesmo? Obrigado. :lol:

Abraços

Re: [Resolvido]Problemas com proj. c# class library e app.co

Enviado: Ter Jan 21, 2014 10:27 am
por webmaster
Leandro,

Isso acontece porque uma dll não tem contexto próprio. Ela é um biblioteca de apoio e sempre estará "debaixo" de alguma coisa, no caso, da sua aplicação camadaUI.

Espero ter ajudado.

Abraços

Re: [Resolvido]Problemas com proj. c# class library e app.co

Enviado: Ter Jan 21, 2014 4:29 pm
por LEANDRO ALVES
Tomás,

Eu entendi sim, ficou claro. O negócio é que estou iniciando agora nesta separação de camadas.
Vou pesquisar a respeito pra ficar a par tudo o que for possível.
Muito obrigado pela ajuda.

Abraços