将我们的解决方案升级到Visual Studio 2012后,我们希望利用新的代码分析功能。但是,它运行起来太慢了,因为在运行之前,它会重新构建项目和相关项目,即使代码没有更改也不需要重建。 有没有办法在不需要重建的情况下停止重新构建代码呢?
我认为约翰上述的陈述是不正确的。根据我的经验,无论是否配置了代码分析,项目都会被重建。我有一个包含100多个项目的解决方案。如果我选择一个项目并仅对该项目运行代码分析,它将重建该项目及其所有依赖的项目。它不会在其他项目上运行代码分析,但仍然会重建它们。那么为什么必须重建所有子项目才能运行代码分析呢?
如果您刚开始使用代码分析,可能会误解症状。您可能会看到:1. 代码分析需要大量时间 2. 在进行代码分析时,项目会构建您可能会将这两个症状结合起来,得出代码分析正在强制重新构建项目的结论。这是一个错误的假设。请尝试以下操作: 1. 确保您的项目配置为在构建时不运行代码分析 2. 重新构建您的解决方案。注意需要多长时间 3. 构建(不要重新构建)您的解决方案,但这次请注意需要多长时间您会发现您的解决方案实际上是“构建”的,但由于项目已经是最新的,编译器和其他工具不会运行。所以,确实需要首先运行一个解决方案的构建,然后才执行代码分析工具(FxCop),但这将比您预期的时间更长,但它一定是值得的。在我们的环境中,我创建了一个名为“本地”的解决方案和项目配置,从“调试”中复制而来。这个配置大部分与“调试”相同,但不运行代码分析。这是我们开发人员日常使用的配置。当代码被检入TFS时,它会在“本地”配置下启动持续集成(CI)构建,同样不运行代码分析。另一方面,夜间构建会运行“调试”配置,因此它会运行代码分析。我发现我们不需要在每次构建中都得到代码分析的结果,但它在每天一次时非常必要。顺便提一下,代码分析并不新鲜。如果您查看您链接的MSDN页面,您会在“其他版本”下拉菜单中找到2010年的版本。实际上,在成为产品的一部分之前,代码分析功能作为名为“FxCop”的Visual Studio插件已经可用。