我有一份使用Smart Device .NET C#的项目,使用VS 2008 Professional进行开发。项目中共有约100个cs文件。每次编译该项目时链接器需要大约1分钟的时间,从而导致编译时间很长。我的电脑配备了Core i3处理器、4GB RAM和7200rpm硬盘。
这种情况是什么原因引起的,我该如何优化编译过程?是否有任何Visual Studio选项可供使用?
我有一份使用Smart Device .NET C#的项目,使用VS 2008 Professional进行开发。项目中共有约100个cs文件。每次编译该项目时链接器需要大约1分钟的时间,从而导致编译时间很长。我的电脑配备了Core i3处理器、4GB RAM和7200rpm硬盘。
这种情况是什么原因引起的,我该如何优化编译过程?是否有任何Visual Studio选项可供使用?
<configuration>
<runtime>
<generatePublisherEvidence enabled="false"/>
编辑:根据下面的评论,我进行了一些调查。平台验证任务在VS2008中运行非常缓慢,这是一个已知的问题。有关此问题的更多详细信息可以在此处找到:
http://blogs.msdn.com/b/vsdteam/archive/2006/09/15/756400.aspx
解决此问题的一种方法是在构建中禁用该任务。要做到这一点:
1) 打开文件:
%windir%\Microsoft.NET\Framework\v2.0.50727\Microsoft.CompactFramework.Common.Targets
进行编辑。
2) 转到这一行:
Name="PlatformVerificationTask">
并将其更改为:
Name="PlatformVerificationTask" Condition="'$(SkipPlatformVerification)' != 'true'">
3) 将SkipPlatformVerification环境变量添加到系统中,并将其设置为“true”(要重新启用平台验证,请将环境变量设置为“false”)。如果您需要关于设置环境变量的帮助,请阅读http://vlaurie.com/computers2/Articles/environment.htm。如果您不想添加环境变量,可以将条件替换为始终为false的内容(即Condition="'true' == 'false'")
<Target Name="PlatformVerificationTask"></Target>
针对Windows 10和框架3.5,
在C:\Windows\Microsoft.NET\Framework\v3.5文件夹中,找到Microsoft.CompactFramework.common.targets文件。
在这个部分中
<Target
Name="PlatformVerificationTask">
<PlatformVerificationTask
PlatformFamilyName="$(PlatformFamilyName)"
PlatformID="$(PlatformID)"
SourceAssembly="@(IntermediateAssembly)"
ReferencePath="@(ReferencePath)"
TreatWarningsAsErrors="$(TreatWarningsAsErrors)"
PlatformVersion="$(TargetFrameworkVersion)"/>
</Target>
更改此处,(添加 Condition="'$(DoPlatformVerificationTask)'=='true'" 行)
<Target
Name="PlatformVerificationTask">
<PlatformVerificationTask
Condition="'$(DoPlatformVerificationTask)'=='true'" <!-- Added -->
PlatformFamilyName="$(PlatformFamilyName)"
PlatformID="$(PlatformID)"
SourceAssembly="@(IntermediateAssembly)"
ReferencePath="@(ReferencePath)"
TreatWarningsAsErrors="$(TreatWarningsAsErrors)"
PlatformVersion="$(TargetFrameworkVersion)"/>
</Target>