Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Compilation 在TFS2010上设置代码分析时编译错误不可见_Compilation_Continuous Integration_Static Code Analysis - Fatal编程技术网

Compilation 在TFS2010上设置代码分析时编译错误不可见

Compilation 在TFS2010上设置代码分析时编译错误不可见,compilation,continuous-integration,static-code-analysis,Compilation,Continuous Integration,Static Code Analysis,我正在着手TFS2010,我正在尝试建立一个持续的集成构建。为此,我使用默认生成模板(DefaultTemplate.xml),该模板配置为代码分析设置为始终 一切正常。。。除非它没有。当生成中出现错误(或测试失败)时,TFS报告中唯一可用的错误如下 无法读取代码分析输出报告。确保目录是可写的(默认为项目输出目录) 只有在没有代码分析时才会报告原始错误。如果没有错误,代码分析报告将正确输出 有什么想法吗?我期望的是: 代码分析关闭,无错误:构建正常 代码分析关闭,生成错误:工作流不希望生成代码

我正在着手TFS2010,我正在尝试建立一个持续的集成构建。为此,我使用默认生成模板(
DefaultTemplate.xml
),该模板配置为
代码分析
设置为
始终

一切正常。。。除非它没有。当生成中出现错误(或测试失败)时,TFS报告中唯一可用的错误如下

无法读取代码分析输出报告。确保目录是可写的(默认为项目输出目录)

只有在没有代码分析时才会报告原始错误。如果没有错误,代码分析报告将正确输出


有什么想法吗?

我期望的是:

  • 代码分析关闭,无错误:构建正常
  • 代码分析关闭,生成错误:工作流不希望生成代码分析文件,显示原始错误,确定
  • 代码分析,无错误:生成分析输出,一切正常
  • 上的代码分析,生成错误:由于生成错误,未执行代码分析,未生成输出文件。但是,工作流希望找到一个未找到的输出文件,这将成为生成异常中记录的主要错误,隐藏原始错误
因此,请检查生成模板中项目的顺序,看看这是否适用,并对其进行更改,以确保在生成错误发生时代码分析输出不是预期的。

关于“无法读取代码分析输出报告”错误:

  • 如果在Visual Studio中编译时发生这种情况,则可能是生成的日志文件路径太长
  • 如果在TFS build中编译时发生这种情况,那是因为项目包含不需要的元素

在我们的解决方案中,每个项目都导入一个通用的.Targets文件-我打算覆盖这些文件,从而避免将来所有项目出现问题。

我在CI服务器上使用并行msbuild(/m开关)构建了一个解决方案,出现了相同的错误(其他特定于文件锁的错误,如:进程无法访问文件x.y.z,因为它正被另一个进程使用)。结论:删除/m,因为它不安全:-(

实际上,代码分析被意外修改,并且在每种情况下都报告了错误:-(但是考虑到所述的问题,您的答案似乎是正确的:-)在我的例子中,CodeAnalysisLogFile指向bin/Debug,而项目输出指向bin/x86/Debug。但是在构建过程中,只创建了bin/x86/Debug,而不创建代码分析日志文件所需的bin/Debug。