C# 停止ReSharper添加批注

C# 停止ReSharper添加批注,c#,resharper,resharper-7.1,C#,Resharper,Resharper 7.1,我在我的C#项目中使用ReSharper,通常我喜欢它。但是,当我执行某些重构操作时,它会不断向代码中添加注释 例如,当我使用“检查空参数”上下文操作时,它会添加[NotNull]: // Before context action public void Foo(object input) { } // After context action public void Foo([NotNull] object input) { if (input == null) {

我在我的C#项目中使用ReSharper,通常我喜欢它。但是,当我执行某些重构操作时,它会不断向代码中添加注释

例如,当我使用“检查空参数”上下文操作时,它会添加
[NotNull]

// Before context action
public void Foo(object input)
{
}

// After context action
public void Foo([NotNull] object input)
{
    if (input == null)
    {
        throw new ArgumentNullException("input");
    }
}
此外,ReSharper然后使用JetBrains.Annotations将
添加到文件中,即使我没有引用定义属性的JetBrains程序集

我想继续使用上下文操作,因为它们非常有用,但我不能在代码中引入外部注释。ReSharper提供了一个选项来更改默认注释名称空间,并将注释属性源代码复制到项目中,但这也不是此项目的选项

有没有办法告诉ReSharper完全停止添加注释?我尝试过在选项中取消选中JetBrains.Annotations作为带有代码注释属性的命名空间,但这似乎对是否首先生成注释没有任何影响


更新:虽然我实际上没有引用JetBrains.Annotations.dll,但我引用的是另一个dll,它在同一JetBrains.Annotations命名空间中重新实现了相同的注释属性。删除该DLL引用将阻止ReSharper添加注释。如果仍然有一个选项可以关闭它,那就太好了,但是解决方法适合这种情况。

当您引用JetBrains.Annotations.dll时,“Check parameter for null”的默认操作似乎是使用
NotNull
属性(尽管添加了“NotNullAttribute注释”选项)

我所知道的唯一解决方法是不引用
JetBrains.Annotations.dll

更新:
更深入地了解这一点,似乎有一个建议/错误,即在包含注释dll时添加
[NotNull]
,并“检查参数是否为null”请求:以防其他人遇到此问题并想知道为什么…

谢谢!我没有引用JetBrains.Annotations.dll,但我引用的是另一个在同一命名空间中重新定义了所有相同属性的dll。删除该dll会导致ReSharper停止添加该属性。NLog是dll导致我出现问题的原因。我无法删除因此,我求助于向根命名空间添加注释,因为没有ReSharper的生活根本不是真正的生活。强烈建议使用注释。