Как проверить в файле props, является ли импортируемый проект проектом .NET Core SDK - PullRequest
0 голосов
/ 18 ноября 2018

Как я могу сделать PropertyGroup (в файле .props) условным от вида (старый / новый формат) проекта, который импортировал файл .props?(под новым форматом я имею в виду проекты .NET Core SDK)

У меня есть файл Directory.Build.props в каталоге root\, который неявно импортируется во все проекты в root\.большинство проектов используют новый формат csproj, а некоторые используют старый формат, я хочу добавить PackageReference, который нарушает проекты старого формата, я бы хотел исключить свойство в проектах старого формата.

Iпосмотрел Общие свойства проекта msbuild и вокруг документов MS и не нашел ничего релевантного.

1 Ответ

0 голосов
/ 18 ноября 2018

Поскольку вы хотите определять элементы вместо свойств для ссылок на пакеты, вы можете использовать условия для группы элементов (или самих элементов), поскольку все свойства оцениваются перед всеми элементами.

Скорее всего, вы также захотитеОбусловляйте ссылку не на «стиль» проекта (SDK vs classic), а скорее на стиль ссылки на пакеты NuGet - поскольку вы также можете использовать PackageReference в классических проектах вместо packages.config.

<ItemGroup Condition="'$(RestoreProjectStyle)' == 'PackageReference'">
  <PackageReference Include="My.Pkg" Version="1.2.3" />
</ItemGroup>
...