Normal bir SLN dosyasına sahibim ve komut satırından msbuild ile iyi bir şekilde derledim.msbuild SLN ve hala ayrı proje çıktıları olsun?
C: Bunu \ slndir> Msbuild/p: OutDir = C: \ slnbin \
Ve C içine her şeyi döker: C dağıtılan olsun web siteleri haricinde \ slnbin: \ slnbin_PublishedWebsites \.
İstediğim şey, tüm ikili dosyaların yalnızca bin dizinine düşmemesi değil, aynı zamanda her bir yürütülebilir programın kendi "dağıtılmış" klasörüne sahip olmasıdır. Aşağıdaki projeleri varsa
Yani, örneğin,:
C:\slnbin\ // Everything
C:\slbin\Deploy\Service1 // Common, Lib1, Service1
C:\slbin\Deploy\Service2 // Common, Lib2, Service2
yaptığım çalıştı: - Ortak - Lib1 - Hizmeti1 - - Lib2 Service2
benim hemen wan "msbuild/p: OutDir = C: \ slnbin \ $ (ProjectName)" gibi şeyler, ancak sadece bir literal olarak davranır ve gerçek bir "$ (ProjectName)" altdizi oluşturur.
Tercihen, her bir projeyi vb. Değiştirmek zorunda kalmam.
Bu mümkün mü? Kolay?
Bu bizim için harika çalışıyor. Bir soru - MSBuild geçen projeleri = "% (ProjectFiles.Fullpath)" olarak adlandırdığınızda, MSBuild her projeyi yalnızca bir kez oluşturmak için yeterince akıllı mı? Örneğin, çözümde foo.dll varsa ve diğer 4 proje tarafından başvurulan, foo.dll bir kez mi, yoksa 4 kez mi, yoksa 5 kez mi? –
"MSBuild.exe'yi başlatmak için Exec Görevini kullanmanın aksine, bu görev alt proje oluşturmak için aynı MSBuild işlemini kullanır. Atlanabilecek önceden oluşturulmuş hedeflerin listesi, ana ve alt yapıları arasında paylaşılır. Yeni MSBuild süreci oluşturulmadığından daha hızlı. " Bu yüzden foo.dll bir kez inşa edilecek sanırım ama emin değilim. –
Bunu oluşturmak için gereken komut satırı nedir? –