gpt4 book ai didi

.net-core - 需要构建针对.NET Standard\Core而不是.NET Portable的Roslyn Analyzer

转载 作者:行者123 更新时间:2023-12-04 13:25:44 25 4
gpt4 key购买 nike

我使用的是Visual Studio 2017随附的默认Roslyn SDK模板。这些项目创建的目标是.NET Framework Portable。我假设Roslyn可扩展性项目可以针对.NET Standard\Core而不是Portable,而我正在寻找我可以研究的模板或Roslyn Analyzer\Refactoring项目示例。

最佳答案

从默认分析器模板转换后的分析器的样本可用here。有用于比较的原始分析器以及针对.NET标准的TestAnalyzerStandard

使它工作的步骤:

  • 创建新的.NET标准库
  • 库必须以.NET Standard 1.3为目标。如果您希望将分析器作为VS中的扩展名运行(扩展名是.NET 4.6),则需要这样做。可用here在标准版本和完整框架版本之间进行映射。同样,如果您尝试将目标版本设置为低于1.3,则将无法包含所需的分析器软件包。
  • 添加nuget包以获取Microsoft.Composition最新版本。这是Microsoft.CodeAnalysis.CSharp.Workspaces所需要的。如果尝试首先添加工作空间,则会收到所引用的组合包不兼容的错误。
  • Microsoft.CodeAnalysis.CSharp添加nuget包(我使用的是最新的1. *版本)
  • Microsoft.CodeAnalysis.Csharp.Workspaces添加nuget包(版本应与Microsoft.CodeAnalysis.CSharp的版本匹配)。
  • 此时,您可以从可移植项目中复制代码并进行构建。不应有任何错误(如果VS仍显示红色曲线,您可能必须关闭并重新打开解决方案)。
  • 要使VS扩展正常工作,只需打开source.extension.vsixmanifest,转到“ Assets ”选项卡,然后更改对.NET标准库
  • 的引用
  • 要创建.nuget包,只需执行nuget pack Diagnostic.nuspec .即可。 Diagnostic.nuspec对Nuget 2.x有效。如果您通过VS 2017中的包管理控制台使用nuget,则必须将<file src="*.dll" ..."更改为<file src="bin\*\netstandard1.3\*.dll" ...

  • 这些步骤是我对分析器进行实验的结果(我以前玩过创建面向完整框架而不是可移植库的DLL)。他们绝不是官方的。

    关于.net-core - 需要构建针对.NET Standard\Core而不是.NET Portable的Roslyn Analyzer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45900835/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com