I progetti vengono spesso suddivisi in cartelle e in genere tali cartelle vengono mappate in spazi dei codici in codice. Tuttavia, in molti dei miei progetti principali ho classi che ho fuso in namespace esistenti, ad esempio ho una libreria di riferimento MVC che aggiunge altri tipi in System.Web.Mvc
o System.ComponentModel.DataAnnotations
, ad esempio.Come sovrascrivere la cartella automatica VS2010 -> mappatura dello spazio dei nomi in nuovi file cs
In altri progetti, potrei avere una suite di interfacce e una suite di implementazioni predefinite di tali interfacce; quindi potrei dividere i file di codice in due cartelle separate (ad esempio "Oggetti" e "Interfacce") ma non voglio avere spazi di sottozona e .
Allo stesso modo, spesso scrivo metodi di estensione per tipi in altre librerie - ad es. System.String
, che unisco nello spazio dei nomi System
in modo che siano già "lì" non appena si fa riferimento all'assieme.
Così dato una struttura di progetto come questo (in risposta alla prima risposta, questo progetto ha lo scopo di produrre un singolo assieme con tutte gli spazi dei nomi, e potrebbe essere una dll che potrebbe essere firmato):
Our.Core.Library
|->System
| |->StringExtensions.cs
|->System.Web.Mvc
| |->AnotherModelBinder.cs
|->OurCoreClass.cs
In quanto sopra, voglio che i nuovi file aggiunti alla radice siano nello spazio dei nomi Our.Core.Library
, ma voglio aggiungere nuovi file alle cartelle System.Web.Mvc e System in System
e System.Web.Mvc
rispettivamente. Ma VS darà loro uno spazio dei nomi predefinito di Our.Core.Library.System
.
È un piccolo difetto, ma mi piacerebbe essere in grado di sovrascrivere lo spazio dei nomi predefinito per una cartella di codice specifica in modo da poterlo controllare. Qualche idea su come ottenere questo? Ho provato uno spazio dei nomi predefinito vuoto per il progetto, che potrebbe logicamente farlo funzionare per le sottocartelle, ma ovviamente non per la radice; tuttavia, la pagina VS Properties non accetta uno spazio dei nomi vuoto.
Idealmente sarebbe una soluzione che posso facilmente replicare in tutto il nostro team di sviluppo per consentire ad altri sviluppatori di essere in grado di aggiungere file di codice mentre si aderisce alla struttura dello spazio dei nomi impostata in fase di progettazione/architetto.
Sono a conoscenza dell'impostazione dello spazio dei nomi predefinita (vedere i miei commenti di chiusura nella domanda) e più progetti non sono adatti poiché desidero i diversi spazi dei nomi in una DLL, senza doverli unire data la complessità del processo di compilazione e complicazioni con la firma, ecc. –