[VS2017] Как автоматически изменить проект при добавлении его в Solution?
От: LWhisper  
Дата: 07.02.19 10:12
Оценка:
Коллеги, доброго дня!

Есть здоровый солюшен (.sln) в который постоянно добавляются новые проекты (.csproj).
Необходимо следить за их настройками и автоматически корректировать.

В нашем случае это параметры анализа кода, которые необходимо переопределить, добавив соответствующие параметры в базовую секцию, и убрать лишние из платформо-зависимых.

Как это сделать?

Варианты с экстеншенами для студии рассматриваются в последнюю очередь.
solutions project visual studio .net extension
Re: Directory.Build.props
От: Qbit86 Кипр
Дата: 07.02.19 10:21
Оценка: 6 (2)
Здравствуйте, LWhisper, Вы писали:

LW>Есть здоровый солюшен (.sln) в который постоянно добавляются новые проекты (.csproj).

LW>Необходимо следить за их настройками и автоматически корректировать.

Поможет такая фича MSBuild, как автоматическое включение во все проекты корневого Directory.Build.props: https://docs.microsoft.com/en-us/visualstudio/msbuild/customize-your-build?view=vs-2017
Возможно, это не решит всех перечисленных проблем, но про такую фичу полезно знать.
Например:
<Project>
  <PropertyGroup>
    <MyProjectRootDir>$(MSBuildThisFileDirectory)</MyProjectRootDir>
  </PropertyGroup>
</Project>

И во всех проектах будет определено свойство $(MyProjectRootDir) — аналог $(SolutionDir), только доступно не только в Студии при открытом солюшне, но и при сборке голым MSBuild.
Глаза у меня добрые, но рубашка — смирительная!
Re[2]: Directory.Build.props
От: vorona  
Дата: 07.02.19 13:21
Оценка:
Здравствуйте, Qbit86, Вы писали:

Directory.Build.targets тоже работает
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.