Python aracılığıyla bir alt projeye çağrı ile bir Visual Studio 2010 çözümü yapıyorum. Doğrudan komut satırından çağrıldığında, başlamak için devenv.com ~ 15 saniye gerekir. Ancak Python'dan çağrıldığında bu, ~ 1.5 dakikaya kadar zıplar. Doğal olarak bu ölü zamanı yapılarımızdan çıkarmayı umuyorum. Bu yüzden MSBuild.exe'yi (.NET 4'ten) test etmeye karar verdim. MSBuild.exe anında çalışır gibi görünüyor. Ama ... her seferinde tam bir yapı yapıyor gibi görünüyor.MSBuild.exe ile Artımlı İnşa Etme
kullanıyorum komut bu artımlı bir yapı desteklemesi gerektiği gibi görünüyor
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" "C:\path\to\my\project.sln" /target:build /maxcpucount:8 /property:Configuration=Release
olduğunu. Ancak, msbuild'in bu gibi bir yapıyı destekleyemeyeceğini belirten çevrimiçi yayınları gördüm.
Bu mümkün mü? Eğer öyleyse neyi yanlış yapıyorum?
Güncelleme:
Bunun biraz daha içine okudum. Benim .vcxproj dosyalarında ayarlanmış Giriş ve Çıkış özelliklerini gerekiyor gibi
http://msdn.microsoft.com/en-us/library/ms171483.aspx
ve
http://www.digitallycreated.net/Blog/67/incremental-builds-in-msbuild-and-how-to-avoid-breaking-them
dayanarak görünüyor. Dosyalarımı kontrol etmek gerçekten eksik.
Ne zaman üretilecekler? Çoğu .vcxproj dosyaları Visual Studio 2008'den dönüştürülmüştür. Ancak, Giriş ve Çıkış özelliklerinde de eksik olan yeni bir proje oluşturdum.
VS2010 bu özelliklere sahip projeler oluşturmuyor mu?
Güncelleme: Bugüne kadar VS 2013'e yükseltme yaptık. Artık msbuild artımlı yapıları destekliyor. VS 2010 sayısının alt kısmına hiç gitmedim.
MSBuild'in artımlı yapıyı desteklemediğini nereden öğrendiniz? URL'yi veya işaretçileri nasıl bulabilirim? –
Bu bulduğum gönderi. https://social.msdn.microsoft.com/Forums/vstudio/en-US/8123dce6-7177-4fd7-b59c-51ef1359e60d/msbuild-task-is-not-incremental. Artımlı bir yapının desteklenmediğini düşünen nokta, "Ne bir sistem olarak MsBuild, ne de bir görev olarak MSBuild, bir .sln oluşturulmasına ilişkin girdilerin ve çıktıların bilinmesi için bir araç sağlar." Ama bu açıklamanın ne kadar doğru olduğu belli değil. Dolayısıyla bu soru. –