2010-10-14 16 views
12

VS 2008 Professional ve bir Akıllı Aygıt .NET C# projem var. Toplamda 100 cs dosyam var. Yapı çok uzun sürüyor, bağlayıcıyı yaklaşık beklemek zorundayım. Projeyi her derlediğimde 1 dak (60s). Core i3, 4GB RAM, 7200rpm disk var.VS 2008 Professional, Akıllı Aygıt .NET C# projesi - yavaş yapı

Bunun nedeni nedir ve yapıyı nasıl optimize edebilirim? Herhangi bir Visual Studio seçeneği? Hans Passant yorumuna gelen tavsiyelere uyalım ve teşhis çıkışına MSBuild ayarlarsanız

+2

C# bir bağlayıcı kullanmaz. MSBuild çıktısını tanıya dönüştürün ve gördüğünüz zamanları sorgunuza yapıştırın. Araçlar + Seçenekler, Proje ve Çözümler, İnşa Et ve Çalıştır. –

cevap

19

sadece zaman alıyor dair daha net bir resim verecektir. Derlemenizin Lisans Derleyici (LC.exe) üzerinde asılı olduğunu görüyorsanız, bunun nedeni bir sunucuyu aramaya ve zaman aşımına uğramış olması olabilir. Eğer machine.config değiştirerek bu çözebilirsiniz -

Düzenleme c: \ windows \ microsoft.net çerçevede \ \ v2.0.50727 \ config \ Machine.config ve aşağıdaki anahtarı ekleyin:

<configuration> 
    <runtime> 
     <generatePublisherEvidence enabled="false"/> 

DÜZENLEME: biraz araştırma yaptım aşağıda yorum dayanarak

//

. Platform doğrulama görevi, VS2008'de çok yavaş çalıştığı bilinen bir soruna sahiptir. Üzerinde fazla detay burada bulunabilir: Bu sorunu

http://blogs.msdn.com/b/vsdteam/archive/2006/09/15/756400.aspx

bir yolu Yapınızda görevi kendisi devre dışı bırakmaktır. Bu

1) dosyasını açın yapmak için:

%windir%\Microsoft.NET\Framework\v2.0.50727\Microsoft.CompactFramework.Common.Targets 

düzenleme için. (

Name="PlatformVerificationTask" Condition="'$(SkipPlatformVerification)' != 'true'"> 

3) sisteme SkipPlatformVerification ortam değişkeni ekleyin ve "true" olarak ayarlayın:

2) okur hattına Git:

Name="PlatformVerificationTask"> 

ve bunu değiştirmek Platform Doğrulamayı yeniden etkinleştirmek için ortam değişkenini "false" olarak ayarlayın. Ortam değişkeni ayarlamak için yardıma ihtiyacınız varsa http://vlaurie.com/computers2/Articles/environment.htm'u okuyun. Eğer bir ortam değişkeni eklemek istemiyorsanız her zaman yanlış bir şey için koşul takas olabilir (yani Durumu = " 'gerçek' == 'yanlış'")

+0

Tanı seviyesini kontrol ettim. Benim durumumda, PlatformVerificationTask 290174 ms alıyor. Sebebi nedir? – cubesoft

+0

Microsoft klasörünün yerine Microsoft.CompactFramework.Common.Targets dosyasını buldum. % windir% \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.CompactFramework.Common.targets – fefferoni

+0

Değiştir ** ** to ** **. –

3

Hemen Gözlerinde farklı bir hedef yeniden tanımlamak. csproj dosyası böyle. Sonra makinede çalışacak, ya da tabiki bütün bir kod satırını eklenen koşullu satırla kopyalayabilirsiniz. Her iki durumda da, sistem dosyasını değiştirmenize gerek yoktur.

<Target Name="PlatformVerificationTask"></Target>