如何修改Solution / Project对象?

时间:2018-01-16 19:45:20

标签: c# roslyn roslyn-code-analysis

我已经定义了属性MyAttribute:Attribute,它应该在一个类中使用一次(每个类只有一个构造函数可以使用它,并且它只能在ctor的属性列表中出现一次)。

我已经创建了一个Roslyn分析器来检查这个,它标记了这种属性的每种用法(如果多次使用),并允许用户选择名为&#34的夹具;保留此属性并删除所有其他属性&#34;。< / p>

现在在FixProvider中我需要返回新修改的解决方案。修改需要修复的每个Document(通过使用SyntaxRewriter修改内部的SyntaxTree)并不困难。但是,我不知道如何修改解决方案或项目 - 他们没有任何方法,如&#34; ReplaceProject&#34; /&#34; ReplaceDocument&#34;。

怎么做?

1 个答案:

答案 0 :(得分:1)

您可以使用以下方法替换文档的文本:

QDnsHostAddressRecord