PostSharp предупреждения при использовании подделок в VS2012
Недавно мы обновились до VS2012, а также изменили нашу версию PostSharp на 3.0.26. Обычно эта комбинация работает нормально, но я получаю предупреждения для моего проекта модульного тестирования, такие как
Модуль " MyModule.Fakes.dll
msgstr "не содержит никаких аспектов или других преобразований. Для повышения производительности во время сборки рассмотрите возможность отключения PostSharp для этого модуля, установив символ компиляции (он же константа) "SkipPostSharp"в вашем проекте или установите свойство MSBuild"SkipPostSharp=True".
Теперь обычно я могу отключить это предупреждение, изменив соответствующие настройки проекта (SkipPostSharp = True), но я уже сделал это для моего проекта MyProjectTest, содержащего модульные тесты.
Когда я добавлю <SkipPostSharp>True</SkipPostSharp>
к моему MyModule.Fakes
файл в Fakes
папка, предупреждение о PostSharp исчезает, однако я получаю еще одно сообщение об ошибке:
Элемент "Fakes" в пространстве имен " http://schemas.microsoft.com/fakes/2011/ " имеет недопустимый дочерний элемент "SkipPostSharp" в пространстве имен " http://schemas.microsoft.com/fakes/2011/ ". Список возможных ожидаемых элементов: "StubGeneration, ShimGeneration, Compilation" в пространстве имен " http://schemas.microsoft.com/fakes/2011 ".
Обновить
Я также пытался редактировать fakes.xsd
файл и добавить дополнительный SkipPostSharp
элемент, но а) это все еще не распознается как допустимый элемент Visual Studio и б) я не уверен, будет ли это в любом случае правильным подходом.
Есть идеи как избавиться от этих предупреждений?
1 ответ
Вы можете указать дополнительные свойства для файла проекта, которые будут сгенерированы Fakes для создания сборки Fakes, поместив элементы Property в элемент Compilation в конце файла.FAKES. Вот пример, основанный на вашем описании.
<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/">
<Assembly Name="MyModule"/>
<Compilation>
<Property Name="SkipPostSharp">True</Property>
</Compilation>
</Fakes>