【问题标题】:How to get Visual Studio Intellisense errors from command-line如何从命令行获取 Visual Studio Intellisense 错误
【发布时间】:2020-09-17 20:33:39
【问题描述】:

我们有一个使用 MSBuild 来编译我们的解决方案的构建过程。当我以这种方式编译时,构建中没有错误。但是当我从 Visual Studio 内部执行构建时,在错误列表选项卡中,当我显示“Build + IntelliSense”时,我有大约 20 个错误。

有没有办法从命令行实用程序获取相同的错误列表?它当前不是 MSBuild 输出的一部分(这些错误也不在“输出”选项卡中)。

【问题讨论】:

  • +1 表示我从未想过要问的问题……但只是好奇,为什么?编译器 100% 正确,那么 Intellisense 噪声有什么帮助。
  • @dxiv 是的,编译器本身就足以生成一个xx.exe或xx.dll。但智能感知对改进编码格式也很有用,例如它会提供messages,就像方法名称以大写字符开头会更好。 IntelliSense 也是一种代码完成辅助工具,包括许多功能:成员列表、参数信息、快速信息和完整单词。
  • 对于特定的场景,一些用户可能有一个大的项目/解决方案需要 10+ 分钟(或者我曾经遇到过 30+)来编译。因此,在构建/编译它们之前通过智能感知的帮助纠正错误很重要。否则我们得再花十分钟甚至更长时间……
  • @dxiv 我们还集成了一个 OWASP 检查器来查找安全违规,输出是 Build + Intellisense 的一部分。这个想法是在出现安全违规时在我们的集成服务器上导致构建失败。
  • 感谢 OP 和 @LanceLi-MSFT 提供额外的上下文。

标签: .net visual-studio command-line msbuild


【解决方案1】:

有没有办法从命令行获取相同的错误列表 效用?它当前不是 MSBuild 输出的一部分(这些错误 也不在“输出”选项卡中)。

目前 msbuild 无法像 Build + IntelliSense 提供的那样获得 same 错误列表。要获得相同的警告,您可以从命令行尝试using csc.exe directly

Roslyn(Roslyn=>csc.exe) 不仅是 C# 编译器,还是代码分析的 API。在我的测试中,它可以显示比 msbuild 更多的警告。 (如CS0168,msbuild不会输出这个警告)

【讨论】:

  • 据我所知,Roslyn 没有项目和解决方案文件的概念,因此尝试以这种方式编译大型项目非常无用。我希望能够将智能感知建议作为 jenkins 构建工作报告的一部分来监控代码质量。有什么建议吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-07
  • 1970-01-01
  • 1970-01-01
  • 2011-02-28
相关资源
最近更新 更多