![]() |
1
1
关于如何从NuGet加载Roslyn分析仪新的C#和VB编译器基于Roslyn。Roslyn是一个可扩展的编译器框架,许多分析器可以在编译过程的不同阶段运行。
MsBuild将通过
NuGet包具有特殊的元数据,确保这些分析器作为对MsBuild项目文件的特殊类型引用添加,以便MsBuild可以将它们传递给编译器。 至于为什么分析仪有时会失效
这很难说。存储了一些项目元数据。设置选项以清除工作区/工作目录并重新启动可能会解决此问题。
Setting the
新的FxCop analyzer项目尚未完成,仍在更新中。analyzer基础结构中的错误可能导致分析失败。不幸的是,这通常很难调试。逐一关闭规则可以帮助您找到罪魁祸首。 There seems to be an option built into Roslyn to enable ETW Logging ,这应该会给您提供更多的详细信息,但这并没有很好的文档记录。
在Visual Studio中,还有另一件事可以破坏分析器,Visual Studio扩展也可以加载分析器,然后Visual Studio将其注入到构建过程中。这些扩展不是项目的一部分,因此不会以任何方式出现在源代码管理中。因此,任何最近更新的扩展也可能是罪魁祸首。将MsBuild详细级别设置为Diagnostics应显示传递给哪些分析器
|