2010-07-30 129 views
8

我有一个Silverlight 4解决方案需要很长时间才能从VS2010和MSBuild 4命令行进行构建。为什么MSBuild任务ResolveProjectReferences需要很长时间?

该解决方案包含42个项目,一个是Silverlight应用程序项目,一个是Web应用程序项目,其余是类库。

的MSBuild的诊断摘要显示这些任务都采取了一些相当长的时间......

29891 ms ResolveAssemblyReferences     68 calls 
115609 ms CopySilverlightApplications    1 calls 
131547 ms ValidateXaml        36 calls 
425688 ms ResolveProjectReferences     68 calls 
634031 ms Build          71 calls 

项目依赖关系都非常好排列,生成顺序看起来是合理的。我将所有项目编译到一个输出文件夹中,并且所有引用都有CopyLocal = false。

看起来最严重的罪犯是ResolveProjectReferences,但为什么它需要这么长时间?

回答

2

您是否在编译时启用了代码分析?如果是这样,请尝试禁用它。有类似的问题。禁用代码分析后,构建运行速度提高5倍。

0

ResolveProjectReferences必须构建每个引用的项目。 所以有可能,一些项目会多次构建。

使用文件引用和中央构建过程来消除此问题。

i used this in a project once

我们降低了我们构建时为12分钟至3分钟。

相关问题