'çıkış için elinize sağlık kendi dizine her proje?almak için en iyi yolu ne
Team Foundation Server içine büyük bir kod temeli atıyorum. Oluşturma işlemi bir "yapı projelerimiz. dağıtmak için" hazır oluşturmak istiyorum
Bu yaptığımız normal şekilde her bir proje çıktı kendi klasöründe olacak. Bu yüzden, örneğin, bir rüzgar gibi
C:\project1\
assembly1.dll
assembly2.dll
project1.exe
project1.exe.config
C:\project2\
assembly2.dll
assembly3.dll
project2.exe
project2.exe.config
C:\project3\
assembly1.dll
assembly3.dll
project3.exe
project3.exe.config
Biz böyle olan.
Elinize sağlık, ama aynı dizinde her şeyi sopa istiyor gibi görünüyor.
C:\output\
assembly1.dll
assembly2.dll
assembly3.dll
project1.exe
project1.exe.config
project2.exe
project2.exe.config
project3.exe
project3.exe.config
hangi disk alanı (derlemeleri sadece bir kez, her) bir miktar kaydeder, ancak biz bunu istiyoruz.
MSBuild/elinize sağlık çıktı dosyalarını koymak gereken yerde belirlemek için en iyi yolu nedir? Sln/csproj dosyaları ayrı ayrı elde etmek için düzenlemek gerekir bu veya TFSBuild bunu yapabilirim.dosya projen? (MSBuild-belirli bir dosya yani)
CEVAP
Ben burada başka bir yöntem yazı yazdı:
http://mikehadlow.blogspot.com/2009/06/tfs-build-publishedwebsites-for-exe-and.html ama eğer bağlantıyı takip için rahatsız olabilir mi, işte tam olarak bu
Genellikle bu Desenler ve Uygulamalar anlatıldığı gibi uber-çözüm PDF, elinize sağlık Ekip Geliştirme tek bir Rehber içinde senin takımın kontrolü altında tüm kod toplamak için iyi bir uygulamadır. Eğer daha sonra Team Foundation server bu çözüm oluşturmak için yapılandırmak, davranışlarını tek bir klasör içine inşa edilen çıkış yeri olduğu varsayılan,‘’. Release
Çözüm içinde herhangi bir web uygulama projeleri de bir klasör _PublishedWebsites\ adlı çıkış olacaktır. Bu basit web uygulaması dağıtmak robocopy anlamına gelir çünkü çok güzel.
Ne yazık ki, Win, konsol veya kütüphane gibi diğer proje türleri için benzer varsayılan davranışı yok. Eğer seçilen herhangi bir proje çıktı(ler) ile _PublishedApplications\ alt klasör olabilir eğer çok iyi olurdu. Neyse ki o kadar da zor değil.
Yol _PublishedWebsites işleri oldukça basittir. Eğer web uygulamanızın proje dosyası bakarsanız altına alma fark edeceksiniz:
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" />
Benim makinede MSBuildExtensionsPath özelliği ise Microsoft açarsak MSBuild\Dosyaları C:\Program olur.WebApplication.hedefler oluşturmak bir masaüstü olmadığı zaman tanır oluşturmak oldukça basit bir MSBuild dosyası olduğunu görebiliriz dosyası, yani bir Team Foundation build, ve kopyalar çıktı
$(OutDir)_PublishedWebsites\$(MSBuildProjectName)
Ben sadece Microsoft kopyalanmış.WebApplication.hedef dosya, benim projeden göreli bir yol ile kaynak kontrol altına koy dosya ve _PublishedApplications için _PublishedWebsites değişti ve dosya CI olarak yeniden adlandırıldı.exe.hedefler. _PublishedApplications, ben çıktı almak istiyorum bunun için her proje sadece proje altındaki bu içe aktarma dosyası ekledi:
<Import Project="<your relative path>\CI.exe.targets" />
CI düzenleyebilirsiniz.exe.senin emirlerini yerine getirmek için hedefler (ya da bunu aramak istediğiniz ne olursa olsun). Benim durumumda, tek değişiklik şu ana kadar birkaç satır App kopyasını eklemek.yapılandırma dosyası:
<Copy SourceFiles="$(OutDir)$(TargetFileName).config" DestinationFolder="$(WebProjectOutputDir)\bin" SkipUnchangedFiles="true" />
Microsoft bir sürü şey var.WebApplication.sadece web uygulamaları ile ilgili ... ... ve diğer proje türleri için çıkarılmış olabilir bu hedefler, ama okuyucu için bir alıştırma olarak bırakıyorum.
Nasıl başka bir kullanıcı'GUI) el...
Elinize sağlık, varolan bir çözümü içi...
Nasıl tf.exe (elinize sağlık komut sat...
Nasıl bir modül almak için tam yolu ve...
Π değerini almak için en hızlı yolu ne...