2012-06-05 27 views
8

'de dışlanan dosya türleri nasıl eklenir? Şu anda MSBuild, .manifest uzantısı ile dosyaların üzerine dosya kopyalamıyor. Dosya üzerinde açıkça kopyalamak için komutlar ekledim, ancak .manifest dosyaları dahil edilecek şekilde ayarlayabileceğim bir yapılandırma bayrağı var mı?MSBuild

cevap

10

AllowedReferenceRelatedFileExtensions özelliğini yapınıza geçirebilirsiniz. Mülkün değeri, dosya uzantılarının yarı kolon ayrılmış bir listesi olmalıdır. Microsoft.Common.targets Gönderen:

<!-- 
These are the extensions that reference resolution will consider when looking for files related 
to resolved references. Add new extensions here if you want to add new file types to consider. 
--> 
<AllowedReferenceRelatedFileExtensions Condition=" '$(AllowedReferenceRelatedFileExtensions)' == '' "> 
    .pdb; 
    .xml 
</AllowedReferenceRelatedFileExtensions> 

listeye değerleri eklemek için hiçbir yolu yoktur. Sadece benim yapı komut dosyasına ve ayrıca .Csproj dosyasına öğesi bir PropertyGroup öğesine bir çocuğu AllowedReferenceRelatedFileExtensions eklendi ve görmedik

MSBuild.exe MyProject.csproj /t:build "/p:AllowedReferenceRelatedFileExtensions=.pdb;.xml;.manifest" 
+1

, tüm listeyi temini, eğer mesela varsayılan içerir emin olabilirsiniz kopyalanan dosyalar (TFS üzerinden çalışan otomatik bir yapı var). Bu, dosyaların bir projenin (yani bin klasörü) çıktısı olduğunu varsayar mı? Öyleyse, otomatik yapmamın bir projenin çıktıları olmayan dosyaları kopyalamak için ne yapmam gerektiğini biliyor musunuz? –

+0

@JM Evet. MSBuild, projeniz için yalnızca obj çıkış dizinindeki dosyaları alır. .manifest dosyanızın çıkış dizininde yoksa, muhtemelen .csproj dosyanıza bir post-build hedefi eklemeniz gerekir. –