ссылка на атрибут среды модульного тестирования из нетестового проекта

#c# #reflection #attributes #assemblies #reference

#c# #отражение #атрибуты #сборки #ссылка

Вопрос:

Я использую .NET 3.5 и VS2010 и пытаюсь искать методы тестирования и тестовые классы в сборке. Я хотел бы использовать тип.Метод GetCustomAttributes (Type, Boolean), потому что это позволяет мне выполнять поиск непосредственно по этим атрибутам, в отличие от получения всех атрибутов и повторения выполнения сравнения строк.

Для выполнения этого мне нужно было бы сослаться на Microsoft.VisualStudio.QualityTools.UnitTestFramework, который, похоже, невозможен вне тестового проекта. Я уже пробовал редактировать xml, и это не сработало.

Вот пример кода, который я хотел бы использовать

 var atts = method.GetCustomAttributes(typeof(TestMethod),false)
if (atts.Length > 0)
do something
  

Возможно ли это?

Комментарии:

1. Как вы думаете, почему невозможно ссылаться на эту сборку в «обычном» проекте?

2. Его нет в списке сборок, когда я пытаюсь добавить его из visual Studio

Ответ №1:

Вы можете добавить Microsoft.VisualStudio.QualityTools.UnitTestFramework сборку в обычный проект. Причина, по которой он не отображается в вашем диалоговом окне «Добавить ссылку», заключается в том, что ваш проект нацелен либо на «Клиентский профиль .NET Framework 3.5», либо на «Клиентский профиль .NET Framework 4». Измените «Целевая платформа» либо на «.NET Framework 3.5», либо на «.NET Framework 4» на вкладке «Приложение» свойств вашего проекта.