PEgar o diretorio de uma class library
14/01/2013
0
Estou co um projeto onde há uma class library responsavel pelo acesso ao banco (SQLite) e é o ponto comum entre 2 projetos que precisam compartilhar o mesmo arquivo de configuração (SQLite).
Portanto eu queria deixar o arquivo sqlite dentro da pasta bin\debug dessa class library.
String programa = Assembly.GetExecutingAssembly().Location; String pastaSistema = programa.Substring(0, programa.LastIndexOf('\\')); conn = new SQLiteConnection(@"data source="+ pastaSistema + @"\BancoConfiguracao.s3db");
Porem quando eu faço isso ele pega a pasta Debug da aplicação e não da class library...
Qualquer ajuda é bem vinda, obrigado
Gustavo Henrique
Posts
15/01/2013
Robson Alves
essa é a extensão correta do arquivo de banco SQLite *.s3db ?
Enquanto o FileDirectory retornar null, quer dizer que não tem nenhum arquivo com essa extensão dentro da pasta!
Estamos quase lá.
Se não entrar no If, quer dizer q nem encontrou a pasta.
15/01/2013
Gustavo Henrique
if (Directory.Exists("Banco"))
Sim, o SQLite gera um arquivo com essa extensão
Amanhã cedo eu volto a tentar novamente, pegar o caminho de casa agora!
Obrigado pela ajuda Robson, qualquer novidade amanhã eu já posto!
15/01/2013
Robson Alves
16/01/2013
Gustavo Henrique
Veja isso
string file = (new System.Uri(Assembly.GetExecutingAssembly().CodeBase)).AbsolutePath; FileInfo fi = new FileInfo(file); string conexao = fi.DirectoryName; conexao += @"\Banco\BancoConfiguracao.s3db";
Ele pega o endereço da DLL da class library, depois pega apenas o nome do diretorio onde esta a dll (ele vai até bin\debug)
depois eu coloquei o nome da pasta do banco e o banco! Vou testar aqui e posto o resultado, mas debugando foi de boa!!
=D
16/01/2013
Gustavo Henrique
Passei o dia todo fuçando isso e nada, estou quase desistindo!!!
16/01/2013
Robson Alves
Clique aqui para fazer login e interagir na Comunidade :)