2012-09-12 16 views
17

Projeyi oluşturduktan sonra ana dizinden bir xml dosyasını bin\Debug'a kopyalamak istiyorum, ancak çözümüm çalışmıyor. Ben .csproj dosyayı düzenleyen ve ekledi: Ben yanlış ne yapıyorumMsBuild kopya dosyasını oluşturduktan sonra

<Target Name="AfterBuild"> 
    <Copy SourceFiles="Controllers.xml" DestinationFolder="\bin\Debug" ContinueOnError="true" /> 
</Target> 

? Yapı başarılı.

+1

Bu MsBuild hedefi için oluşturma çıktısı nedir? Ben $ MSBuildProjectDirectory \ Controllers.xml ' –

+0

koymak gerekir şüpheli Ne yazık ki yardımcı olmadı. Başka fikirlerin var mı? – KlimczakM

cevap

36

Hedef klasörünüz büyük ihtimalle yanlıştır. Önde bir ters eğik çizgi ile belirtirseniz, aslında <current-drive-letter>\bin\Debug için kısa bir biçimdir (C:\bin\Debug gibi etkili bir şekilde mutlak bir yol yapar).

Ya yapı yapılandırmasına bağlı bin\Debug veya bin\Release ya ayarlandığında OutputPath değişken kullanmak daha iyisi bin\Debug kullanın veya.

Örnek:

<Target Name="AfterBuild"> 
    <Copy SourceFiles="Controllers.xml" DestinationFolder="$(OutputPath)" ContinueOnError="true" /> 
</Target> 
4

projenizde xml dosyası var mı? Sonra özelliklerinden biri CopyToOutputDirectory'dir. CopyAlways olarak ayarlayın ve proje oluşturulduğunda dosya bin \ debug'a kopyalanır.

1

Tam yolu belirtmeniz gerekir. MsBuild kopyalama görevinin Visual Studio'nun "Varsayılan yolu "'ndan çalıştığından şüpheleniyorum ve dosya bulunamadı. Ayrıca, büyük olasılıkla dosyanın yapı hedef dizininde olmasını istersiniz.

<Target Name="AfterBuild"> 
    <Copy SourceFiles="$(ProjectDir)Controllers.xml" DestinationFolder="$(TargetDir)" ContinueOnError="true" /> 
</Target>