源发电机在Visual Studio 2022中无法正常工作
我正在编写一个源生成器,该生成器会自动编写JSONOBJECT类,该类将JSON转换为运行时对象。 如屏幕截图中所示,您可以看到红色波浪线。它们是 CS0246 …
用调用替换C#代码中的未申报变量
延续(用方法) 我需要用索引器表达式将C#代码中的所有未宣布的变量替换。例如,代码: var b = 28; return a + b; 需要将其转换为: var b = 28; re…
是否可以使用源发电机来处理异常?
我有一个接口: Task DoStuff(); 一个实现: public async Task DoStuff() { await DoStuffAndThrowException(); } 是否有一种使用源代码生成器来处理…
在C#代码分析中,如何知道typesyntax是否是枚举?
在我的代码中,我已经捕获了此typeyntax,这是标识的Namesyntax。如图所示,在“属性”下,这是一个枚举,分类为“枚举名称”。但是我不知道该如何在…
升级Microsoft.codeanalysis.charp for Roslyn分析仪
我正在使用Roslyn C#Analyzer工作,并且需要使用Microsoft.Codeanalisy的较新版本的RecordDeclarationsyntax类型。CSHARPNUGET软件包,从3.3.1到4.2.…
Roslyn Ploteervice不会推断for for for for for for for each变量的类型
我正在使用Roslyn's nofollow noreionservice 我的应用程序中的自动完成功能,该功能允许用户编写和执行C#脚本。 当编写诸如(管道表示镜头位置)之…
如何配置C#解决方案以在任何违反代码样式的情况下失败?
我创建了一个示例Web API项目,并希望在CI管道期间执行编码惯例(如果样式错误在开发过程中出现,则奖励点奖励点)。基本上,我只想为C#项目设置Esli…
如何从iassemblysymbol中获取所有接口实现?
我有一种方法可以从汇编中获取所有接口实现: public static class AssemblyExtensions { /// /// Gets all implementations of interface or class f…
检索罗斯林源生成器的语义模型 /解决方案参考的来源
我目前正在编写一个源生成器。该源生成器不仅应考虑到已添加到的项目中的类型和语法树,还应考虑到目标项目参考: targetProject: sourcegenerator r…
在Roslyn中使用编译器API与工作区API时性能差异
我知道罗斯林提供了几种API。但是,我不确定使用编译器API和工作区API时的性能差异是什么。工作区API是否构建了整个解决方案并生成IL代码?…
SourceGenerator Analyzer软件包在Visual Studio 2022中工作,但在2019年不工作
最近,我们一直在测试产品中的源生成器,到目前为止,这还不错。但是,我的一位使用VS 2019的同事遇到了与分析仪一起运行的项目的问题,但似乎在VS 20…
神秘的名称分辨率分辨率与SDK风格的C#项目之间存在差异
我在尝试将.NET 4.6.1项目转换为新的SDK风格的项目格式时遇到了这个令人困惑的名称分辨率问题。我能够创建一个最小的repro解决方案 legacyvssdkstylep…
如何通过罗斯林找到基类的路径?
我试图通过罗斯林找到基类的路径,但找不到任何有用的资源。 有人知道如何解决问题吗? 例如路径:“ ../file1.cs”包含: using ...; namespace Extr…