c#-将Roslyn代码重构为NuGet包

安装.NET Compiler Platform SDK时,您将获得Visual Studio模板,用于创建“带有代码修复的分析器(NuGet VSIX)”和“代码重构(VSIX)”.

为什么没有用于通过NuGet交付代码重构的模板(例如“代码重构(NuGet VSIX)”)?
甚至可以从NuGet包中添加代码重构提供程序(通过手动创建NuGet包)?
在每个项目的基础上安装代码重构提供程序是否有意义?

编辑:
我的用例是代码重构,该重构从无类型数据(如JSON)中生成C#类型.基本上,这就是F#类型提供程序的含义(尽管它们当然更强大).这意味着用户将创建一个如下所示的类

[JsonProvider("http://example.com/data.json")]
public class ExampleData
{
}

重构将其填充为从属性中的url获取的示例数据中的属性:

[JsonProvider("http://example.com/data.json")]
public class ExampleData
{
    public string Property1 { get; private set; }
    public int Property2 { get; private set; }

    public void Load(Uri uri) { ... }
    public void FromData(string data) { ... }
    ...
}

我不想创建分析器的原因是,用户应该能够决定何时更新C#类型.因为我真的不知道URL指向的数据何时更改.而且我不想用用户无法摆脱的那条弯曲的线条来烦扰用户.

解决方法:

目前不支持通过NuGet分发重构,但是我们希望将来添加.

上一篇:C#和PInvoke进入32/64位DLL


下一篇:首页> C#>如何从外部类库(通过NuGet包)引用用户控件?