CA: Подавить результаты от сгенерированного кода не работает в VS2010 бета 2 - PullRequest
6 голосов
/ 16 марта 2010

Я пытаюсь запустить анализ кода в сборке, которая содержит модель объекта (файл edmx). В свойствах проекта я проверил опцию «Подавить результаты из сгенерированного кода», но я все еще получаю много ошибок CA, связанных с автоматически сгенерированным кодом EF.

Кто-нибудь испытывал это? И есть ли обходной путь?

Ответы [ 2 ]

11 голосов
/ 21 сентября 2010

Просто поместите атрибут в определение вашего класса.

Но как это сделать, поскольку ваш файл может быть переопределен в любое время. Используйте отдельный файл, так как все сгенерированные классы являются частичными классами. Откройте отдельный файл и напишите что-то вроде:

[GeneratedCode("EntityModelCodeGenerator", "4.0.0.0")]
public partial class YourEntitiesContextName : ObjectContext
{
}

Это пропустит анализ кода вашего конкретного сгенерированного класса. Например, StyleCop более умный и не касается файлов, в имени которых есть часть .designer/.generated, или областей, в имени которых есть слово generated.

7 голосов
/ 16 марта 2010

Ну, «Подавить результаты из сгенерированного кода» действительно означает «Не смотрите на типы с GeneratedCodeAttribute». Исторически генератор кода EF этого не добавил (хотя я предложил это команде). Но вы можете добавить его, если вы используете пользовательский T4 .

...