2012-03-19 12 views
21

Zamiast excluding a file from the referenced output of an assembly, chcę dodać!Dołącz plik projektu z odniesieniami .config file

Mam projekt aplikacji konsoli (BuildTest1), który odwołuje się do projektu drugiej klasy biblioteki (ClassLibrary1). Rozwiązanie Visual Studio wygląda następująco:

Solution layout

Mam projektu biblioteki klasy, który ma app.config. Chcę, aby ten plik .config był kopiowany do danych wyjściowych projektu referencyjnego, podobnie jak pliki .dll i .pdb. Plik konfiguracyjny dla biblioteki klasy jest kopiowany do katalogu wyjściowego klasy biblioteki jako „ClassLibrary1.dll.config”

Próbowałem dodanie tego do pliku .csproj .exe projektu, ale nie wydaje się, aby każdy różnica:

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

Odpowiedz

36

byłem tak blisko ... Śledziłem ten dół do MSBuild ResolveAssemblyReference zadania, które nazywa się od celu ResolveAssemblyReferences w Microsoft.Common.targets. To właśnie wypełnia element ReferenceCopyLocalPaths.

Więc patrząc na wzór plików zostało dopasowane odkryłem, że .dll.config rozszerzenie pliku (zamiast po prostu .config) wystarczyły:

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

Dzięki za obserwacji. Szkoda, że ​​nie można go skonfigurować na odwrót, z projektu biblioteki, ponieważ to ten, który wiedziałby, że inni potrzebują jego pliku konfiguracyjnego. "Chcesz mój plik konfiguracyjny, zaufaj mi" –

+1

Pracowałem dla mnie ... Dzięki. !! – Krunal

+1

Och, to jest takie niesamowite. Dziękuję Ci! –

Powiązane problemy