Pergunta

Eu tenho muitas montagens / projetos na solução líquida mesmo c # /.. A configuração precisa ser salvo por pessoas que usam o gui aplicação web, em seguida, um aplicativo de console e alguns projetos de teste precisam acessar o mesmo arquivo. Onde devo colocar o arquivo e como acessá-lo?

Eu tentei usar "AppDomain.CurrentDomain.BaseDirectory", mas que acaba por ser diferente para os meus assembléias. Também o "System.Reflection.Assembly.Get * Assembly.Location" deixar de me dar o que eu preciso.

Talvez isso não é algo que eu deveria, mas em um arquivo, mas o banco de dados? Mas parece tão complicado fazer isso para algumas linhas de configuração.

Foi útil?

Solução

Pessoalmente, eu estaria alavancando o banco de dados porque a alternativa é ou uma dor de cabeça de configuração ou é mais problema do que vale a pena.

Você poderia configure cada aplicativo para apontar para o mesmo arquivo, mas que se torna problemático se você deseja mover o arquivo. Ou você poderia escrever um serviço para gerenciar o arquivo e expor isso aos clientes, mas neste momento você pode também apenas usar o DB.

Outras dicas

Coloque o arquivo no

    Path.Combine(
        Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData),
        "[Company Name]\[Application Suite]");

Pensamento sobre armazená-lo no registro ou no armazenamento isolado? Não tenho certeza se vários aplicativos podem compartilhar armazenamento isolado ou não, no entanto.

projetos podem ter eventos de compilação - por que não adicionar um evento pós-compilação para copiar o arquivo para todos os locais necessários

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top