Compiler errors 确定生成在第一个错误之前的距离

Compiler errors 确定生成在第一个错误之前的距离,compiler-errors,msbuild,visual-studio-2017,Compiler Errors,Msbuild,Visual Studio 2017,在尝试修复生成错误时,我经常遇到问题。当我试图学习一项新技术,如Angular 2时,这种感觉尤其强烈。在这种情况下,我可能会做出改变,试图修正一些我从未见过的错误。结果是一个新的错误 问题是,我不知道新错误是在构建过程中比旧错误更早还是更晚。那么我的更改是否解决了一个问题,从而发现了下一个错误?还是它制造了一个新问题,从而掩盖了旧问题?我不知道 我想知道是否有办法确定这一点?某种数字度量,一个构建可能达到的程度。例如,如果构建系统要计算“成功的步骤”,其中“步骤”的定义可以是任何东西,只要构建

在尝试修复生成错误时,我经常遇到问题。当我试图学习一项新技术,如Angular 2时,这种感觉尤其强烈。在这种情况下,我可能会做出改变,试图修正一些我从未见过的错误。结果是一个新的错误

问题是,我不知道新错误是在构建过程中比旧错误更早还是更晚。那么我的更改是否解决了一个问题,从而发现了下一个错误?还是它制造了一个新问题,从而掩盖了旧问题?我不知道

我想知道是否有办法确定这一点?某种数字度量,一个构建可能达到的程度。例如,如果构建系统要计算“成功的步骤”,其中“步骤”的定义可以是任何东西,只要构建进度至少触发一个步骤,就足够了


最后,如果答案是“你说不出来”,请不要害怕这样说。我注意到一个反复出现的问题,如果有人问如何做某事,答案是做不到,人们会对这个问题感到愤怒,而不仅仅是说“你不能那样做。”

根据这些评论,我的假设是,我要找的东西不存在,除非非常粗糙。可以查看第一次生成错误之前经过的时间。显然,这是不可靠的。

我将开始使用git,因为您可以将当前版本推送到在线存储库,并继续处理代码。如果出现故障,那么您可以始终转到以前的版本并检查代码差异。相信我,我正在使用git,并且我会尽早且经常提交。单元测试可以测试单个函数以查看它们是否失败,但这可能需要您的时间(即使应该始终创建单元测试)。Jenkins对于持续集成非常有用,它有许多插件(例如构建失败分析器),可以帮助您。如果你想尝试的话,我最近一直在使用Maven来构建,而不是MSBuild。关于角度解决方案的结构和构建方式,更多信息可能会有所帮助。通常,前端的每个构建都按照声明的顺序执行一些任务。通过这种方式,您可以指出哪个步骤失败,并进一步修复错误。我不确定是否完全理解您的要求,但您可以使用自定义记录器,在错误发生之前统计日志行数。我不确定这是否是对“构建早期”的准确衡量,尤其是在并行构建多个项目/源文件时。有关如何实现自定义记录器,请参见例如。