2009-03-31 18 views
10

Web uygulamamın temiz bir dağıtımını oluşturmak için çözümüme Web Dağıtım Projesi ekledim. Bu çoğunlukla beklendiği gibi çalışır, yani & kaynağını oluşturur ve sonra/Release klasörüne dağıtılacak dosyaları kopyalar (ve kaynak dosyaları ve .svn klasörlerim gibi şeyleri hariç tutar).Yerleşik ExcludeFromBuild ItemGroup Web Deployment projesiyle ekleniyor

Ama şimdi bazı dosyaları hariç tutmak istiyorum (basitlik uğruna sadece somefile.txt adlı bir dosya söyleyelim). aşağıdaki gibi Yani, wdproj dosyasına bir öğe grubu eklemek: istendiği gibi

<ItemGroup> 
    <ExcludeFromBuild Include="somefile.txt" /> 
</ItemGroup> 

Bu gerçekten belirli bir dosyayı hariç, ama artık varsayılan olarak dışlanan dosyaları artık hariç vardır. Özellikle, şimdi tüm svn dosyaları & Yayın klasöründe bulunmaktadır, ayrıca içindeki tüm kaynaklarla aynı düzeyde bir Kaynak klasörü bulunmaktadır.

Temel olarak, ExcludeFromBuild öğe grubunun tanımlanması, onlara eklenmekten ziyade birtakım yerleşik varsayılanların üzerine yazılıyormuş gibi görünüyor.

Tam olarak bir stoper değil, ancak ideal değil ... Öyleyse, bir dosyayı varsayılan ExcludeFromBuild grubuna nasıl eklemeyi bilen var mı? Veya varsayılanları Vs kullanarak bir durumdur. el ile her şeyi hariç Vs. varsayılan yapıdan sonra yapmadığınız dosyaları siliyor musunuz?

cevap

19

Bakmaya gelen herkes için, kendi sorumu cevaplamam gerektiğini düşündüm ... Aradığım tam çözümü bulamadım, bu yüzden elimden gelen her şeyi yalnızca ExcludeFromBuild ItemGroup'a ekledim. varsayılan seçeneklerin & yaptıklarını görün ve sonra da benim özel dosyamdan hariç tutunuz).

<ItemGroup> 
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\somefile.txt" /> 
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\obj\**\*.*" /> 
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\.svn\**\*.*" /> 
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\.svn\**\*" /> 
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\*.csproj" /> 
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\*.scc" /> 
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\*.user" /> 
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\*.vspscc" /> 
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\*.log" /> 
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\*.svclog" /> 
</ItemGroup> 

Temelde ben ilk etapta görmezden istediği tüm günlük dosyalarını, kullanıcı/proje dosyalarını, svn dosyaları, kaynak güvenli dosyaları vb artı özel dosyaları hariç: My ExcludeFromBuild listesi bu gibi bakarak sona erdi.

+0

ile gerçekleştirerek bitirdim. Bunun için teşekkürler! –

+0

ta, ben sadece .svn \ ** \ *. * Vardı ve neden işe yaramadı işe yaramadı. – Rippo

0

Bunun işe yarayıp yaramayacağından emin değilim, ancak komutun bir Hariç Tutma özelliği var, dosyaları kopyalayan hedefin üzerine yazabilir ve ihtiyacınız olanı dahil etmek/hariç tutmak için kullanabilirsiniz.

+0

Yardımlarınız için teşekkürler, ancak bunu ExcludeFromBuild ... – Alconja

0

Evet, bunun sonsuza kadar eski olduğunu biliyorum, ama bunu denediniz mi?

<ItemGroup> 
    <ExcludeFromBuild Include="somefile.txt;$(ExcludeFromBuild)" /> 
</ItemGroup> 
+0

Dediğin gibi, sonsuza dek önceydi, bu yüzden dürüst olmak gerekirse, başka ne denediğimi hatırlayamıyorum ... Bunu denedin mi? Çalışıyor mu? – Alconja

İlgili konular