2012-03-19 12 views
21

yerine excluding a file from the referenced output of an assembly başvurulan dahil et, birini eklemek istiyorum!projenin .config dosyasını

ben ikinci sınıf kitaplığı projesi (ClassLibrary1) atıfta bulunan bir konsol uygulaması projesi (BuildTest1) var. Visual Studio çözüm şuna benzer:

Solution layout

Bir app.config olan bir sınıf kütüphanesi projesi var. Ben sadece .dll ve .pdb dosyaları gibi, bu .config dosyasının yönlendiren projenin çıktısına kopyalanmasını istiyorum. Sınıf kitaplığı için yapılandırma dosyası 'ClassLibrary1.dll.config'

olarak sınıf kütüphanesi çıktı dizinine kopyalanmıştır. Bunu .exe projesinin .csproj dosyasına eklemeyi denedim, ancak herhangi bir farkı: Çok yakındım

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

cevap

36

... Ben Microsoft.Common.targets içinde ResolveAssemblyReferences hedeften denir MSBuild ResolveAssemblyReference göreve bu buldu. ReferenceCopyLocalPaths öğesini doldurur. takibine

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

Teşekkür:

Yani dosya uzantısı .dll.config (yerine sadece .config yerine) hile yaptığını keşfetti o eşleşen edildi dosyaların şekline bakarak. Çok kötü bir şekilde, başkalarının kendi yapılandırma dosyasına ihtiyacı olduğunu bilecek olan kütüphane projesinden başka bir şekilde yapılandıramazsınız. "Benim yapılandırma dosyası istiyorum, bana güven" –

+1

Benim için çalıştı ... Teşekkürler. – Krunal

+1

Oh, bu harika. Teşekkür ederim! –