Domanda

Ho molte assemblee e/o progetti in c#/.net soluzione.Un'impostazione che ha bisogno di essere salvato da persone che utilizzano l'applicazione web gui, e quindi di un applicazione per console e alcuni progetti hanno bisogno di accedere al file stesso.Dove devo inserire il file e su come accedervi?

Ho provato con "dominio di applicazione.CurrentDomain.BaseDirectory", ma che finisce per essere diverso per il mio assemblee.Anche il Sistema".La riflessione.L'assemblaggio.Ottenere*Assemblea.Posizione" non riescono a darmi ciò di cui ho bisogno.

Forse questo non è qualcosa che dovrebbe, ma in un file, ma il database?Ma ci si sente così complicato farlo per un paio di righe di configurazione.

È stato utile?

Soluzione

Personalmente, vorrei essere sfruttando il database perché l'alternativa è una configurazione di mal di testa o è più problemi che ne vale la pena.

Si potrebbe configurare ogni applicazione per scegliere il file stesso, ma che diventa problematico se si desidera spostare il file.Oppure si potrebbe scrivere un servizio per la gestione di file e di esporre che per i clienti, ma a questo punto si potrebbe anche usare solo il DB.

Altri suggerimenti

Mettere il file in

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

Pensato di memorizzazione nel registro di sistema o di Archiviazione Isolata?Non sono sicuro se più applicazioni possono condividere spazio di Memorizzazione Isolato o no, però.

i progetti possono avere eventi di generazione -- perché non aggiungere un evento di post-generazione per copiare il file in tutte le posizioni richieste?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top