Условная зависимость в nuget - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть инструмент, который я хочу доставить через nuget.Я не очень знаком с этим, но то, что я читал до сих пор, это то, что вы можете определять зависимости с условиями.Может ли условие также быть переменной среды?

Я нашел это здесь:

<ItemGroup>
    <!-- ... -->
    <PackageReference Include="Newtonsoft.Json" Version="9.0.1" Condition="'$(TargetFramework)' == 'net452'" />
    <!-- ... -->
</ItemGroup>

Что есть для других «переменных», как в примере выше TargetFramework?

Есть также две зависимости, которые содержат то, что мне нужно, как я могу сказать, что мне нужна одна из них, а не обе?И как определить, что я хочу, если еще ничего не установлено?

1 Ответ

1 голос
/ 30 апреля 2019

Да, вы можете использовать переменную среды в условии:

Используйте атрибут Condition для свойства, чтобы установить значение, только если свойство не имеет значения.Например, следующий код устанавливает для свойства ToolsPath значение c: \ tools, только если переменная среды ToolsPath не задана:

<ToolsPath Condition="'$(TOOLSPATH)' == ''">c:\tools</ToolsPath>

Источник: Как: использовать переменные среды в сборке

Список всех встроенных свойств MSBuild можно найти здесь: https://stackoverflow.com/a/1453023/7225096

...