2011-09-08 24 views
3

將VS2008項目升級到VS2010後,我們發現VS需要60秒才能真正開始構建我們的項目。WPF 4嵌入字體導致SLOW VS2010構建

隨着VS 2008我們的項目將在3秒內建成。

我終於發現,當我們使用Expression Blend的3/4嵌入字體到我們的項目,它會減慢構建於2010年VS

有沒有人有一個解決方案來解決這個問題?

我們需要在我們的WPF應用程序中嵌入20種字體,並且每次構建應用程序時都無法等待60秒。現在,如果我從項目中排除Fonts文件夾,它將在3秒內再次生成...

+0

這聽起來像是每個新版本都重新生成字體。這總是需要時間。一種可能的解決方案是關閉它直到你真正需要它在構建中。查看http://stackoverflow.com/questions/3765391/embedding-fonts-forces-silverlight-project-to-always-rebuild獲取另一個解決方案。 –

+1

我們將字體移至衛星組件,現在我們沒有任何問題。一旦EmbeddedFonts.dll被編譯,它永遠不會重新編譯,因爲我們永遠不會改變它... –

回答

2

您可以將字體作爲單獨資源DLL的一部分,只有在對字體進行更改時才能編譯。這樣,只需將DLL文件包含到項目中,並且每當更改字體時,都會使用部署批處理文件將dll複製到項目中,因爲它需要運行實際文件。這樣,您不會每次重建字體,您還將節省每次構建時重建它們所需的時間。

此方法還可以避免您關閉它,並幫助您將資源與實際應用程序分開。

+0

不是我所希望的,仍然能夠使用Blend。但是我想我們有嵌入我們需要的字體,所以我們不應該改變它們。 –

+0

它仍然適用於混合。你建立這個項目,你不會改變任何源代碼,然後把這些DLL移到你把它們放到你的VS項目中的文件夾中,這樣你就不會有任何問題。 –