Я пытаюсь отключить правило анализа кода для всего класса, но НЕ для всего проекта, а только для одного класса. В приведенном ниже примере сборка генерирует предупреждение CA1822, так как считает, что методы модульного тестирования должны быть статическими.
Исправление заключается в добавлении следующего атрибута к каждому методу модульного тестирования: [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1822:MarkMembersAsStatic")]
Однако это громоздко и загромождает класс множеством модульных тестов.
Я пробовал:
- Перемещение атрибута в класс
- Оборачивая все методы в
#pragma warning disable CA1822
#pragma warning restore CA1822
Ни один из этих двух подходов не сработал.
public class TestClass
{
public TestClass()
{
// some setup here
}
[Fact]
public void My_Unit_Test1()
{
// the 'this' parameter is never used, causes CA warning 1822
}
[Fact]
public void My_Unit_Test2()
{
// the 'this' parameter is never used, causes CA warning 1822
}
}
Использование VS2015 Update 2, .net 4.61 и новых анализаторов кода.
#pragma
работает для Stylecop, но не для анализа кода? - person SFun28   schedule 07.07.2016