最近用VS2008开发Windows Mobile程序,使用C#、.NET Compact Framework,发现项目生成速度比较慢。用VS2008打开项目后,开始一段时间生成速度还能忍受,时间一长,编译速度巨慢,最慢达到5分钟之久,实在无法忍受。
决定找出VS2008生成时,做了什么花费时间的工作。从工具à选项进入“选项”对话框
选择“MSBuild项目生成输出详细信息”为“诊断”这样编译时,会输出具体执行了那些任务,花费了多少时间。
结果发现最花费时间的是
Platform Verification Task
参照上文的说明,修改文件
C:WindowsMicrosoft.NETFrameworkv3.5Microsoft.CompactFramework.Common.targets
中
<Target Name="PlatformVerificationTask" Condition="'$(SkipPlatformVerification)' == 'true'" >
<PlatformVerificationTask
PlatformFamilyName="$(PlatformFamilyName)"
PlatformID="$(PlatformID)"
SourceAssembly="@(IntermediateAssembly)"
ReferencePath="@(ReferencePath)"
TreatWarningsAsErrors="$(TreatWarningsAsErrors)"
PlatformVersion="$(TargetFrameworkVersion)"/>
</Target>
部分,红色文字为新增加的部分
于是项目生成速度大幅提高。
博主测试:
上面的方法确实可行,修改完成后,需要重新启动VS才能生效。修改后,编译生成的速度确实提高很多很多。