Roslyn(又名.NET编译器平台)为开源C#和Visual Basic编译器提供了丰富的代码分析API。它支持使用Visual Studio使用的相同API构建代码分析工具。
需求背景:我们为客户构建api库(用于.Net,Java,C / C ++和Python),构建应用程序。当我们更新我们的api库时...
对于多个(非常高级)分析,我想要Roslyn SDK:1。仅将诊断应用于“新”代码(保留过时的代码)2。检测死代码(对于公共方法,定义条目...
我正在研究一个想要将给定对象序列化/反序列化为XML的客户,反之亦然。他不会用属性([XmlElement],[XmlArray]等)来标记他所有的类,这将是......
我正在尝试执行字符串变量中的代码以从我尝试使用CSharpCodeProvider的字典中获取项目,如下所示:var text =“IconDescription”; text =“\”“+ text +”\“”; var ...
如何从MemberAccessExpressionSyntax获取方法体?
我正在使用Roslyn并尝试构建一个分析器,它将遍历方法的整个源(包括所有子方法),以便为用户提供洞察力。这对我来说如何......
我想在现有的.NET Core项目中使用Roslyn语法重写器。但是,我不确定如何整合它。为了分析,我有一个单独的NuGet包,被...引用
有没有办法使用Roslyn中的Compilation对象从引用的程序集中获取程序集级别属性?
我需要在项目的引用程序集中获得几个程序集级别属性。 Compilation对象有一个ExternalReferences列表,但列表中的对象没有很多...
在roslyn中生成的控制流图包含作为节点的块(基本块),每个基本块包含一个或多个指令。对于包含多个指令的基本块,我尝试...
我有一个问题与roslyn方法DescendantNodes()..使用此行var blockNodes = root.DescendantNodes(n => n.IsKind(SyntaxKind.Block))当我在Debug中使用lambda表达式时...
从EnvDTE.ProjectItem获取Roslyn的SyntaxTree的最佳方法是什么?我找到了另一种方法(Roslyn的Document into ProjectItem)。我从打开的文件中调用了VSIX命令并且...
我正在尝试评估func 使用EF.Functions.Like in CSharpScript.EvaluateAsync,但是我在运行时遇到错误(当前上下文中不存在名称'EF')...
Roslyn bin文件夹在c:\ bin \ roslyn生成
我接管了包含许多c#项目的Web解决方案的维护。在编译时,一个项目按照预期在其输出目录bin文件夹下创建Roslyn bin文件夹,...
如何停止RunAsync? CancellatioTokenSource cts = new CancellationTokenSource(); //我认为它必须工作,但它不是var script = CSharpScript.Create(code:someCode);等待脚本....
如何从MemberDeclarationSyntax对象单独获取方法声明?如何用空的方法定义替换单行和多行注释。我们可以使用SyntaxTriviaList执行此操作。 ...
我正在努力让我们的团队和项目为VS 2019做好准备。立刻,尝试为新项目设置代码分析,我发现:所以,如果这被弃用(显然甚至不能......)
我安装了Roslyn。现在,如果我知道在Visual Studio中查看,我可以打开“C#交互式窗口”,然后运行代码:> 5 + 3 8这很可爱。现在我该如何与我的代码进行交互?假设我......
我需要将保存文件位置更改为其他目录文件夹。现在它只保存当前的根文件夹。你能帮助我吗?。 var tree = CSharpSyntaxTree.ParseText(code); ...
如何在roslyn中删除语法树中的标记。例如从属性中删除虚拟关键字令牌?
如何在roslyn中删除语法树中的标记。例如从属性中删除虚拟关键字令牌? Roslyn有RemoveNode方法,但我找不到RemoveToken方法或删除令牌的方法。
我怎么知道在给定的SyntaxNode的后代中使用了哪些using指令。请参阅以下示例:https://dotnetfiddle.net/mCzNST我想知道在Class1中使用了哪些用法,...
这里有@Hallgrim的CodeDom方法:private static string ToLiteral(string input){using(var writer = new StringWriter()){using(var provider = ...