C# 将CodeFixProvider添加到现有Nuget包
我正在尝试将一个Roslyn分析器和代码修复提供程序添加到一个现有的项目中,C# 将CodeFixProvider添加到现有Nuget包,c#,visual-studio,roslyn,roslyn-code-analysis,C#,Visual Studio,Roslyn,Roslyn Code Analysis,我正在尝试将一个Roslyn分析器和代码修复提供程序添加到一个现有的项目中,apidendpoints.csproj,该项目作为nuget包分发 在新的VisualStudio实例中使用nuget包时,分析器显然正在工作,但相应的代码修复提供程序不会出现在代码修复列表中如何排除故障并使代码修复提供程序正确注册到Visual Studio? 我最初通过Analyzer with Code Fix(.NET Standard)项目模板在一个新项目中构建Analyzer&Code Fix提供程序。当我
apidendpoints.csproj
,该项目作为nuget包分发
在新的VisualStudio实例中使用nuget包时,分析器显然正在工作,但相应的代码修复提供程序不会出现在代码修复列表中如何排除故障并使代码修复提供程序正确注册到Visual Studio?
我最初通过Analyzer with Code Fix(.NET Standard)项目模板在一个新项目中构建Analyzer&Code Fix提供程序。当我将其捆绑到一个nuget包中,在本地部署,并从一个新的Studio实例使用它时,Analyzer会工作,代码修复提供程序会推荐一个解决方案:
apidendpoints.Analyzer.csproj
:
但是,当我将Analyzer和Code Fix Provider类移动到与其他类捆绑在一起的mainapidents.csproj
时,似乎只有Analyzer注册,只有抑制选项,我的Code Fix Provider不在列表中:
apidendpoints.csproj
:
到目前为止,我所尝试的:
ApiEndpints.csproj
vsApiEndpints.Analyzers.csproj
中逐行查看,并在打包时对齐抑制依赖项(true),生成包构建
(true),包含ILDDOUT
(true)。这些改变没有帮助
诊断ID
几次,并确保代码修复提供程序正在引用它
如何排除故障并使代码修复提供程序正确注册到Visual Studio?您不应该将库和分析器/修复程序打包在同一个程序集中,甚至是同一个包中 除了强制用户在运行时依赖于分析器/修复器及其依赖项之外,该工具不支持该用例 您应该将它们打包在自己的包中,并让库包依赖于Analyzer/fixers包