Come condividere un file su più progetti

2

Uso Visual Studio 2010 per modificare un progetto C #.

Una parte dell'applicazione richiede all'utente di essere in grado di salvare e leggere un file di impostazioni (1 Progetto li legge in (solo in lettura) da un file. L'altro progetto li legge dal file da mostrare nella GUI e una volta salvato, il file deve essere sovrascritto).

Se entrambi questi file fossero in 1 progetto, potrei condividerlo facilmente (usando Resources.resx per esempio o qualsiasi altro approccio). Il problema che ho è il progetto che legge il file delle impostazioni è diverso dal progetto che scrive / modifica il file delle impostazioni.

I 2 progetti non possono essere referenziati l'un l'altro (apparentemente devono rimanere ignari l'uno dell'altro) quindi non posso condividere una CONST STRING tra loro.

Ora, potrei prendere troppo a lungo il DRY, ma sono preoccupato di scrivere codice riferimento a un singolo file in più progetti (la prossima modifica al sistema operativo potrebbe rompere questa logica, ecc.).

Assumerò che questa decisione non è insolita e che esistono già degli approcci per superare questo problema?

Si tratta solo di fare riferimento allo stesso file in 2 posizioni (e se quel file cambia, dovendo aggiornare ogni riferimento (questo sembra indesiderato)) o c'è un modo migliore?

    
posta Dave 20.12.2013 - 12:18
fonte

1 risposta

2

Hai un paio di opzioni.

  1. Crea un terzo progetto che contiene la funzionalità condivisa. Tutti e due i progetti esistenti fanno riferimento a questa nuova DLL, risolta problema.
  2. Inserisci la funzionalità che avresti inserito in una DLL condivisa in un file .cs in uno dei progetti. Quindi aggiungere il file al secondo progetto, ma premi il pulsante a discesa sul pulsante "Aggiungi" in "Aggiungi elemento esistente" finestra di dialogo e scegliere "Aggiungi come collegamento". Il file esiste solo in un posto, ma appare in entrambi i progetti come se esistesse in entrambi i progetti.

Spero che questo aiuti

    
risposta data 20.12.2013 - 13:07
fonte

Leggi altre domande sui tag