2014-11-05 17 views
5

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.

+1

MSBuild'in artımlı yapıyı desteklemediğini nereden öğrendiniz? URL'yi veya işaretçileri nasıl bulabilirim? –

+0

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. –

cevap

2

Ben Artan desteklenmez inşa gerçeği resmi kaynaklardan, Managed Incremental Build bu özellik göre bir yanlış Bildirimi olduğunu düşünüyorum ve VS2010 SP1

eklenmiştir Biz ilk VS2008 yönetilen artan yapı özelliğini tanıttı. VS2010'da, yönetilen artımlı yapı özelliğini MSBuild'e taşan derleme sistemi ile yeniden uygulayamadık. Bu özellik için güçlü müşteri isteği aldık. Sonuç olarak, bu özelliği yeniden uyguladı ve VS2010 SP1'e dahil edildi.

Diğer Çözümler I (sadece kurmak yerine yeniden emin olun)

  • Projeler zaten adım adım inşa etmeliyiz Web üzerinde buldum. Artımlı bina çalışmalarının, yapıyı komut satırından çalıştırıp çalıştırmayacağını kontrol etmenin en iyi yolu. Oluşturduğunuz ikinci zamanı neredeyse hiç zaman almamalıdır.

    Bazı şeyler hala yeniden yapılmaya başlıyorsa, belki de projelerinizi yapı düzeniyle uğraşırken bir şekilde değiştirdiniz . Oluşturma günlüklerine bakarak (/ v seçeneğiyle), neyiniz hakkında bilgi alabilirsiniz.

  • Artımlı yapıyla ilgili sorunlara neden olabilecek diğer nedenler GenerateResource.TrackFileAccess Property Bu API, .NET Framework altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır. Dosya erişim düzenlerini izlememizi belirten bir anahtar alır veya ayarlar.
+1

Ahhhh .... bu mantıklı. Hizmet Paketi 1'i almadım. İlk sürümden çıkmanın olağandışı bir özelliği. –

+0

@ShaneGannon kabul etti :)! –