Мне нравится придерживаться правил форматирования StyleCop, чтобы сделать код красивым и понятным, но недавно у меня возникла проблема с одним из его предупреждений:
Все используемые директивы должны быть помещены внутриПространство имен.
Моя проблема в том, что я использую директивы, ссылку на сборку (для удаления поддельного файла) и пространство имен для жонглирования в одном из моих классов тестирования:
using System;
using System.IO;
using Microsoft.Moles.Framework;
using Microsoft.VisualStudio.TestTools.UnitTesting;
[assembly: MoledType(typeof(System.IO.File))]
namespace MyNamespace
{
//Some Code
}
Вышеприведенное позволяет нормально выполнять тесты, но StyleCop жалуется на то, что директивы using не находятся внутри пространства имен.
Если вставить значения внутри пространства имен, возникает ошибка, что «MoledType» не распознается.
Помещение как использования, так и ссылки на сборку в пространство имен приводит к ошибке
'Assembly' - недопустимое расположение атрибута для этого объявления.Допустимые местоположения атрибута для этого объявления - тип.Все атрибуты в этом блоке будут игнорироваться.
Кажется, я попробовал все макеты, которые могу, но безрезультатно - либо решение не будет построено, либо не будет работать насмешка, либо StyleCop жалуется!
Кто-нибудь знает способ установить это так, чтобы все было хорошо?Или мне придется игнорировать предупреждение StyleCop в этом случае?