Существует три условия автоматической обработки проекта PostSharp:
- PostSharp был установлен с помощью программы установки.
- Проект имеет ссылку (прямую или косвенную)) в PostSharp.dll.
- Свойство MSBuild SkipPostSharp отличается от true, а символ компиляции SkipPostSharp не определен.
Третье условие - это то, что становится ложным при отключении PostSharp путем проверкиопция в свойствах проекта VS.
Вы можете отключить PostSharp по умолчанию, установив свойство SkipPostSharp = True по умолчанию.Это может быть достигнуто путем создания файла с именем PostSharp.Custom.targets в одном из родительских каталогов ваших проектов со следующим содержимым:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<SkipPostSharp Condition="'$(SkipPostSharp)'==''">True</SkipPostSharp>
</PropertyGroup>
</Project>
Затем в каждом проекте, где на самом деле нужен PostSharp, выпотребуется определить свойство SkipPostSharp = False.Это необходимо сделать с помощью текстового редактора, поскольку на вкладке свойств проекта можно только установить для свойства значение True или отменить его определение.