roslyn-code-analysis 相关问题

有关基于Roslyn .NET编译器平台API的C#和VB代码分析的问题。

如何为 visual studio 编写自己的自动完成扩展? (罗斯林/智能感知)

我正在尝试为 VS (2022) 编写具有自定义自动完成功能的扩展,但我遇到了一些问题。我想做两件事: 如果我们有以 @ //@ -> @fruits 开头的评论:(和

回答 0 投票 0

在 C# 中抑制警告 CS8670

通常,可以使用 null-forgiving 运算符 (!) 来抑制可空性警告。我刚刚遇到 CS8670 – 对象或集合初始值设定项隐式取消引用可能为空的成员...

回答 2 投票 0

是否可以使用 editorconfig 禁用特定的 Roslyn 分析器?

根据MSDN的.NET代码分析文档,我们可以通过.editorconfig文件配置Roslyn分析器的行为。 我们可以配置单独的规则:dotnet_diagnostic。 根据MSDN的.NET代码分析文档,我们可以通过.editorconfig文件配置Roslyn分析器的行为。 我们可以配置单独的规则:dotnet_diagnostic.<rule ID>.severity = <severity> 我们可以配置分类规则:dotnet_analyzer_diagnostic.category-<rule category>.severity = <severity> 我们可以配置所有规则:dotnet_analyzer_diagnostic.severity = <severity> 但是我找不到任何关于配置特定分析器规则的提及。 假设我的项目中有一个目录不应由 Roslynator 分析,另一个目录不应由 StyleCop 分析。通过这个,我的意思是这些分析器的每一个规则应该为他们各自的目录禁用。其中一些分析器有数百条规则,单独禁用所有这些规则将花费很长时间。 注意:这只是一个示例,我的问题是关于我是否可以针对任意分析器,而不是 StyleCop 或 Roslynator 是否有自己的设置来执行此操作。 在我的 .editorconfig 文件中,我希望能够执行以下操作: # Disable all Roslynator analysis in Foo/ directory [/Foo/*.cs] dotnet_analyzer.Roslynator.severity = none # Disable all StyleCop analysis in Bar/ directory [/Bar/*.cs] dotnet_analyzer.StyleCop.severity = none 有这样的功能吗?或者我是否必须禁用对这些目录的所有分析? 使用.editorconfig没有直接的方法。但是您可以使用在 CoreCompile 目标之前运行的 MSBuild 目标完全删除特定 projects 的分析器引用。 <Target Name="RemoveAnalyzerReference" BeforeTargets="CoreCompile"> <ItemGroup> <Analyzer Remove="@(Analyzer)" Condition="'%(Analyzer.NugetPackageId)'=='ANALYZER_NUGET_PACKAGE_ID'"/> </ItemGroup> </Target> 请注意,这适用于给定的项目,而不是目录。两者之间的区别在于项目可以引用其目录之外的内容。 另请注意,如果您希望将其应用于所有这些项目的目录中有多个项目,则可以使用Directory.Build.targets。

回答 1 投票 0

如何在 roslyn 分析器中为给定的编译获取定义的预处理器符号

内部 roslyn 诊断(分析器)- 有没有办法知道为当前编译定义了哪些预处理器符号?

回答 1 投票 0

源代码生成器 - 获取符号的所有实现的方法(包括依赖程序集)?

我有一个增量源生成器,需要找到给定符号的所有实现(暂时是接口)。通过一些谷歌搜索,我发现了这个建议微软的问题。

回答 1 投票 0

从规则集到 .editorconfig

我们想从规则集迁移到 .editorconfig。 在一个存储库中,我们有一个规则集文件,其中为所有存储库和其他几个集中定义了一些最小质量门,它们要么是...

回答 0 投票 0

在使用属性时禁止对 Rider 发出警告 - C#

我在一个类中有一个私有字段,它没有显式分配给任何地方,它的值实际上是使用反射和字段上的属性设置的。现在,我使用的 IDE Rider 警告...

回答 2 投票 0

取消引用子类中可能为空的引用

是否可以告诉编译器我知道一个方法将返回一个具有非空属性的对象,即使该属性被标记为可为空? 例如: var 座位 = GetOccupiedSeat();

回答 1 投票 0

使用 MSBuild.CodeAnalysis api 分析 C# 项目时出错?

我正在尝试构建一个工具(使用 C# 和 .NET 7.0,Visual Studio 2022)来分析另一个 C# 项目。我添加了 MSBuild.Locator 包并使用 MSBuildLocator.RegisterDef 调用它...

回答 0 投票 0

使用 Source Generator 创建更简单的方法重载

我有一个类目前需要像这样注册(无反射工作) ViewLocator = new StrongViewLocator() .Register(new ViewDefinition(typeof(Main...

回答 1 投票 0

在Visual studio中是否有与javascript相当的Roslyn Analyzer?[重复]

我们可以在C#中使用Roslyn创建一个自定义分析器,使用它我们可以创建一个NuGet包并将其添加到我们的项目中。现在我有一个问题,我的项目中包含了javascript文件,我想 ...

回答 1 投票 0

在解决方案和引用组件中找到派生接口的符号。

我想做的是(使用RoslynMicrosoft.CodeAnalysis),我试图找到所有从特定接口继承的接口符号,在解决方案中以及被引用的...。

回答 1 投票 0

在Roslyn中是否有一种方法或途径来列举一个给定的C#项目在编译时使用的所有汇编。

事实上,我正在开发一个应用程序,它可以检测并消除给定C#项目中无用的外部引用,例如,一个包被引用但没有使用。为此,我需要枚举所有...

回答 1 投票 0

我们如何在editorconfig Visual Studio中压制一个特定文件的诊断规则?

我试图抑制一个文件在编辑器配置诊断扫描。下面是我的代码,任何人都可以帮助。[*.File.cs] generated_code = true。

回答 1 投票 0

如何使用Roslyn在给定的命名空间上下文中获得任意类型的最完全缩减类型名?

我正在写一个函数,该函数接受任何具体的或构造的Type,例如typeof(ValueTuple)。 , 双, 列表 )并返回一个字符串,这个字符串是 ...

回答 1 投票 3

如何在VS Dev Cmd & 使用MSBuildWorkspace在msbuild过程中显示Analyzer错误警告。

我将用一个例子来解释这种情况。假设我创建了一个Roslyn Analyzer,当Class名称为TestClass时,它会抛出错误。分析器的代码如下。public override void Initialize(...)

回答 1 投票 0

如何使用.net编译器API检查IDataReader是否关闭

我正在尝试编写代码分析器,以检查是否有未关闭的IDataReader。我已经经历了这个问题,但它没有解释如何完成,我也尝试过...

回答 1 投票 1

如何从本地放置的DLL添加自定义roslyn分析器?

我创建了一个Roslyn Analyzer项目,该项目生成一个nuget包及其DLL。我想在独立代码分析项目中使用该DLL。我怎样才能做到这一点?例如,我有以下...

回答 1 投票 0

从roslyn中的符号获取类型

对于不同类型的符号,从Microsoft.CodeAnalysis.ISymbol获取System.Type的最佳通用方法是什么? (例如,类声明,变量,属性等),我希望能够...

回答 1 投票 9

如何使用Roslyn Analyzer检测特定方法是否不包含try catch块?

我想分析类似public void GetDetails(){试试{//一些代码} catch(){//一些代码}}}在Roslyn Analyzer项目中,我有以下类似内容:...

回答 1 投票 2

© www.soinside.com 2019 - 2024. All rights reserved.