问题标签 [microsoft.codeanalysis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
224 浏览

c# - SyntaxWalker 不访问琐事

鉴于:

使用简单的语法步行器,我想访问琐事(确切地说是 EndOfLineTrivia)

我这样称呼Walker:

问题

永远不会调用覆盖的 VisitTrivia 方法。

0 投票
1 回答
862 浏览

c# - SyntaxWalker 访问者不访问方法

我有这个步行者

我用这个代码打电话给步行者

但从未调用访问 MethodDeclaration 。

为了确保我与 SyntaxTree Analyzer 进行比较,我可以看到 roslyn 应该将其识别为方法声明。 在此处输入图像描述

我错过了什么?

0 投票
2 回答
571 浏览

vb.net - 分析器在 Visual Studio 2015 中抛出 InvalidOperationException 并显示消息“序列不包含元素”

我将一个 Visual Studio 2010 项目转换为 Visual Studio 2015,并且转换工作正常,所以我决定将目标框架更改为 .NET 4.6.1,看看会不会有什么问题。

然后我收到以下错误:

分析器“Microsoft.CodeAnalysis.Diagnostics.VisualBasic.VisualBasicCompilerDiagnosticAnalyzer”引发以下异常:“在以下上下文中发生异常:编译:ArtDepInterface System.InvalidOperationException:序列在 System.Linq.Enumerable.First[TSource](IEnumerable'1源)在 System.Linq.ImmutableArrayExtensions.First[T](ImmutableArray'1 immutableArray) 在 Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation.IsIOperationFeatureEnabled() 在 Microsoft.CodeAnalysis.Diagnostics.AnalyzerExecutor.<>c__DisplayClass33_0.b__0() 在 Microsoft。 CodeAnalysis.Diagnostics.AnalyzerExecutor.ExecuteAndCatchIfThrows_NoLock(DiagnosticAnalyzer 分析器,Action 分析,Nullable'1 信息)

它有一个错误代码AD0001,所以我查了一下,发现另一个论坛帖子,但它ArgumentNullException不是一个,InvalidOperationException所以我看不出它是相关的。

有没有人遇到过这个问题或知道如何纠正它?

我会很感激任何意见或方向。谢谢!

更新: 我尝试使用性能分析器,它抛出了与我内部构建的 DLL 有关的各种错误,说它找不到任何公共方法。如果这导致答案,我会添加它。

0 投票
2 回答
393 浏览

roslyn - Visual Studio 2015 包扩展,引用的 dll 未复制

嗨,我在我的 vs2015 扩展中使用了 roslyn Microsoft.CodeAnalysis.Csharp dll,我将我的 Visual Studio 扩展项目升级到 Visual Studio 2013 到 2015。但是当我想安装扩展时,只有我的 roslyn dll 没有被复制。我的目标框架仍然相同(.net 4.5.0)。我检查 nuget.org 到新的 roslyn dll,支持的版本看起来一样。我尝试升级我的 roslyn 版本,但结果是一样的。如果我手动复制到扩展路径 roslyn dll,那么 myextension 正在工作。有什么想法吗?

0 投票
2 回答
1061 浏览

visual-studio - 如何使用 Microsoft.CodeAnalysis 打开当前的 Visual Studio 解决方案

我正在开发一个用于代码分析的 Visual Studio 扩展,该扩展需要为用户选择的项目发出 dll,我选择了 Microsoft.CodeAnalysis 库来为选择的项目发出构建工件。

如果不指定 sln 文件的路径(添加示例代码),我无法找到打开当前解决方案的方法,如何获取当前的 sln 路径?为选定项目生成构建工件的任何替代方法?

编辑: 我的用例:用户打开VS IDE->打开一个.cs文件->他选择将从我的扩展中添加的“分析”选项->然后扩展应该编译包含用户打开的.cs文件的项目。

0 投票
0 回答
50 浏览

visual-studio - 如何捕获项目用户当前正在使用 Visual Studio 2015 解决方案

我正在开发一个 VS 扩展来分析活动(项目用户正在编辑)项目的构建工件,我需要捕获项目名称,以便我可以构建项目并继续下一步。似乎这可以通过 DTE.ActiveSolutionProjects() 对象或 Roslyn Workspace 来实现,有哪些可能的方法?

0 投票
1 回答
564 浏览

visual-studio - 如何使用 Roslyn Workspace 预编译项目

我需要编译启用预编译的 ASP.Net Web 应用程序(Web 窗体和 MVC)。我正在使用 Microsoft.CodeAnalysis.MSBuild.MSBuildWorkspace 打开项目并发出项目级程序集。我已经确定 RazorGenerator 可用于预编译,但这会给我的解决方案增加额外的复杂性,有没有办法简单地使用 Roslyn Workspace?

0 投票
1 回答
76 浏览

c# - 如果初始化为 null,为什么我无法获取所有 ObjectCreationExpressionSyntax?

因此,我有一个 MethodDeclarationSyntax 节点,我将其传递给 CSharpSyntaxWalker,并具有以下覆盖

它以下列形式捕获所有 ObjectCreationExpressionSyntax:

但不是以下内容:

知道为什么会这样吗?我认为这并不重要,但我使用 SyntaxWalkerDepth.Token 作为深度。

当前使用的版本:Microsoft.CodeAnalysis 1.3.2

0 投票
0 回答
255 浏览

c# - Microsoft.CodeAnalysis.CSharp 的 Sonarqube 插件

我正在尝试将 Visual Studio 中的代码分析报告到 SonarQube 服务器。

由于错误,我无法从 Microsoft.CodeAnalysis.CSharp 移植规则,并且无法使用 Sonar Roslyn Sdk 项目生成插件。是否有可用于此分析器的插件,或者我应该如何使其与 SonarQube 一起使用?

感谢帮助

0 投票
1 回答
332 浏览

c# - 如何在 Roslyn 2.0 中查找 MethodGroup 的符号

我正在尝试使用 Roslyn 来识别方法组引用背后的符号。这SemanticModel.GetSymbolInfo在早期版本的 Roslyn 中运行良好,但在最新版本中找不到符号。执行此映射的正确方法是什么?

作为示例,显示 GetMemberGroup 确实返回结果,但它返回两种 Foo() 方法的结果,而不是我引用的特定方法。

如何提取确切的引用符号?