2012-03-19 12 views
21

Invece di excluding a file from the referenced output of an assembly, desidero aggiungerne uno!Includere il file .config del progetto di riferimento

Ho un progetto di applicazione di console (BuildTest1) che fa riferimento a un progetto di libreria di seconda classe (ClassLibrary1). La soluzione di Visual Studio si presenta in questo modo:

Solution layout

Ho un progetto libreria di classi che ha un app.config. Voglio questo file .config copiato sull'output del progetto di riferimento, proprio come i file .dll e .pdb. Il file di configurazione per la libreria di classi viene copiato nella directory di output della libreria di classi come "ClassLibrary1.dll.config"

Ho provato ad aggiungerlo al file .csproj del progetto .exe ma non sembra differenza:

<PropertyGroup> 
    <AllowedReferenceRelatedFileExtensions> 
     .pdb; 
     .xml; 
     .config 
    </AllowedReferenceRelatedFileExtensions> 
    </PropertyGroup> 

risposta

36

ero così vicino ... ho rintracciato questo giù al ResolveAssemblyReference compito MSBuild che viene chiamato dal bersaglio ResolveAssemblyReferences in Microsoft.Common.targets. Questo è ciò che popola l'elemento ReferenceCopyLocalPaths.

Così guardando il modello di file è stato adatta vi scoperto che il .dll.config estensione del file (e non solo config) ha fatto il trucco:

<PropertyGroup> 
    <AllowedReferenceRelatedFileExtensions> 
     .pdb; 
     .xml; 
     .dll.config 
    </AllowedReferenceRelatedFileExtensions> 
</PropertyGroup> 
+3

Grazie per il follow-up. Peccato che non si possa configurarlo al contrario, dal progetto della libreria poiché è quello che sa che altri hanno bisogno del suo file di configurazione. "Vuoi il mio file di configurazione, fidati di me" –

+1

Ha funzionato per me ... Grazie. !! – Krunal

+1

Oh, è fantastico. Grazie! –

Problemi correlati