Roslyn(又名.NET编译器平台)为开源C#和Visual Basic编译器提供了丰富的代码分析API。它支持使用Visual Studio使用的相同API构建代码分析工具。
dotnet jb cleanupcode 引入冗余类型规范
我正在努力改变 dotnet jb cleanupcode UserEntity[] 用户 = [ 新的() { 名称=“示例用户1”, }, 新的() { 名称=“Exa...
我可以在语法级别获取 MemberDeclarationSyntax.Modifiers ,但是一旦我在语义级别处理 ISymbol ,我不知道如何取回给定 ISymbol 的修饰符? 在我的使用案例中...
我正在开发 C# .NET 代码库,其中涉及自定义 Roslyn 分析器来分析 Todo 注释的存在。我们使用 IDE JetBrains Rider 2024.2.4。 最近我们集成了 po...
Roslyn AdhocWorkspace 请求参考 System.Runtime
我正在尝试对一些 C# 代码进行语义分析。 在为我的测试设置 AdhocWorkspace 时,我发现了一些示例,这些示例指向在类型和对象上使用程序集位置。 当我...
Roslyn 是一个完全独立的 C# 编译器吗?我查看了一下源代码,似乎它使用了 Visual Studio 的编译器,而且,我在它的 GitHub 存储库中没有找到任何源代码...
我使用的平台大量使用反射和代码生成来初始化某些特殊类型的成员。它看起来像这样: 公共类 MyGraph :PXGraph { 公开
.NET CoreCLR、CoreRT、Roslyn 和 LLILC 之间有什么区别?
最近我开始阅读有关 .NET 重组细节的内容(主要是通过 .NET Core GitHub 页面)。 他们似乎创建了兄弟项目来支持更多平台。在阅读时我有
Edit3:在某些时候,这才开始起作用。不知道为什么。也许是 VS 的一个 bug 被修复了? Edit2:查看解决方案资源管理器中的分析器节点,我发现了源生成器...
Roslyn - 在 Visual Studio 扩展中导航到 SourceText
在 Visual Studio 扩展上下文中使用 Roslyn 时,每个 SyntaxNode 对象都定义了一个位置(类型为 Microsoft.CodeAnalysis.Location)。 是否有可能让 Visual Studio
roslyn - 如何结合源代码生成器对语法分析器进行单元测试
我能够分别找到测试分析器和源生成器的所有示例。但我的分析器坚持使用源生成器生成的属性。如何将源生成器和语法结合起来
IIncrementalGenerator 未在引用项目中生成代码
我有三个 C# 项目,旨在使用自定义属性来生成引用使用自定义 IIncremental Generator 的公共类的代码。我使用并扩展了来自 dotnet https://www 的本指南。
如何在 Visual Studio 中出现第一个错误后继续视图编译
我正在开发一个包含大量剃刀视图(.cshtml)的.net项目,升级依赖项后我将需要修复很多错误。 有没有办法阻止编译器一开始就停止...
我正在创建自定义 roslyn 分析器,以便在我的项目中强制执行自定义代码样式规则。到目前为止,在 .cs 文件的 AI 生成器的帮助下进展顺利。然而我无法得到ana...
从给定程序集中获取所有引用的程序集(使用 Roslyn 或通过反射)
我正在使用 Roslyn 对解决方案进行一些代码分析,并且该解决方案中的一些项目引用了第 3 方程序集。 有没有办法检索引用的列表
我正在使用 Visual Studio 2015 (v14) 的预览来编写一些 C#,我一直想知道后台编译器实际上是做什么的。根据我的理解,它检查代码编辑的状态......
Roslyn 分析器用于检查 VS2022 中 SQL 文本的语法?
我有许多提交被描述为“SQL 语句中的固定错误”的某种变体。太多愚蠢的错误,例如修改 WHERE 子句并在其中留下额外的 AND 关键字,诸如...
给出以下代码: 公共C类 { 公共无效M() { var x = 5; Action action = y => Console.WriteLine(y); } } 使用VS2013、.NET 4.5。当我看...
从 Roslyn CompilationUnitSyntax 获取嵌套类
我正在使用 Roslyn 解析一些 C# 文件,以生成 TypeScript 类型。 var source = System.IO.File.ReadAllText(pathToCSharpFile); var tree = CSharpSyntaxTree.ParseText(源); var 根...
C# LSP 在使用 OmniSharp 初始化期间出现“消息头必须使用 ':' 分隔键和值”错误
我正在尝试使用 OmniSharp 在 C# 中构建一个玩具语言服务器协议 (LSP) 服务器,但我不断遇到以下错误: 消息头必须使用“:”分隔键和值 这个错误
使用 GeneratorExecutionContext.AddSource 方法时出现错误 RS1035“分析器禁止使用该符号”
Roslyn 源生成器的初学者在这里。 我正在关注 Microsoft 的 Source Generators 文档。我创建了一个 .NET Standard 2.0 类库,并将以下内容设置为内容...