В настройке с Visual Studio 2012 Update 2 и ReSharper 7.1.1 этот файл Annotations.cs
создается при создании новых проектов. Я не могу найти статью, описывающую, почему ReSharper делает это, и если это можно отключить. Я думаю о ReSharper как об улучшении IDE - и я не ожидаю, что ReSharper добавит файлы мои проекты за моей спиной.
ReSharper создает этот файл: Annotations.cs. Зачем?
Ответ 1
Этот файл содержит определения для аннотаций кода ReSharper.
Проверка кода и многие другие функции ReSharper в значительной степени основаны на эвристическом анализе исходного кода для обнаружения проблем, предполагают возможные улучшения и помогают вам другими способами.
Однако эвристический анализ не может обнаружить все. Например, если метод предназначен для того, чтобы никогда не возвращать null и его клиенты были разработаны соответствующим образом, никакой эвристический анализ не поможет найти возможную проблему, если кто-то изменил метод на возврат null.
В этом и многих других случаях аннотированная структура очень помогает. Используя атрибуты, объявленные в этой структуре, вы можете сделать код анализа ReSharper так, как вам нужно:
[NotNull]
public object Foo()
{
return null; // Warning: Possible 'null' assignment
}
Это самый простой пример, есть другие полезные атрибуты с более сложными вариантами использования в Annotated Framework. Полный список этих атрибутов можно найти в справочнике.
Подробнее см. http://www.jetbrains.com/resharper/webhelp/Code_Analysis__Code_Annotations.html.