最近用VS2008開發Windows Mobile程序,使用C#、.NET Compact Framework,發現項目生成速度比較慢。用VS2008打開項目後,開始一段時間生成速度還能忍受,時間一長,編譯速度巨慢,最慢達到5分鐘之久,實在無法忍受。
決定找出VS2008生成時,做了什麼花費時間的工作。從工具à選項進入“選項”對話框
選擇“MSBuild項目生成輸出詳細信息”爲“診斷”這樣編譯時,會輸出具體執行了那些任務,花費了多少時間。
結果發現最花費時間的是
Platform Verification Task
http://blogs.msdn.com/vsdteam/archive/2006/09/15/756400.aspx有Platform Verification Task
的具體描述
參照上文的說明,修改文件
C:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.CompactFramework.Common.targets
中
<Target
Name="PlatformVerificationTask" Condition="'$(SkipPlatformVerification)' == 'true'" >
<PlatformVerificationTask
PlatformFamilyName="$(PlatformFamilyName)"
PlatformID="$(PlatformID)"
SourceAssembly="@(IntermediateAssembly)"
ReferencePath="@(ReferencePath)"
TreatWarningsAsErrors="$(TreatWarningsAsErrors)"
PlatformVersion="$(TargetFrameworkVersion)"/>
</Target>
部分,紅色文字爲新增加的部分
於是項目生成速度大幅提高。