dependencies - nuget中的条件依赖
问题描述
我有一个我想通过 nuget 交付的工具。我对它不是很熟悉,但到目前为止我读到的是你可以用条件定义依赖关系。条件也可以是环境变量吗?
我在这里找到了这个:
<ItemGroup>
<!-- ... -->
<PackageReference Include="Newtonsoft.Json" Version="9.0.1" Condition="'$(TargetFramework)' == 'net452'" />
<!-- ... -->
</ItemGroup>
在上面的示例中,还有什么其他“变量” TargetFramework
?
还有两个包含我需要的依赖项,我怎么能说我需要其中一个而不是两个?如果还没有安装任何东西,我如何定义我想要的?
解决方案
是的,您可以在 Condition 中使用环境变量:
Condition
仅当属性没有值时,才使用属性上的属性来设置值。例如,以下代码ToolsPath
仅在ToolsPath
未设置环境变量时将属性设置为 c:\tools:
<ToolsPath Condition="'$(TOOLSPATH)' == ''">c:\tools</ToolsPath>
资料来源:如何:在构建中使用环境变量
可以在此处找到所有 MSBuild 内置属性的列表:https ://stackoverflow.com/a/1453023/7225096
推荐阅读
- java - Spring Integration + Amazon SQS 队列的工作示例
- php - 无法运行命令 exec(xelatex file.tex)
- crystal-lang - 我无法在高山边缘下构建水晶程序的静态二进制文件
- java - Java 8 HashTable 与 HashMap 冲突处理
- minimax - fail-soft alpha-beta 博弈树的最小示例,包括 fail-low
- java - 如何在 Java 中创建不依赖于本地计算机系统时钟的时间戳?
- php - 在 Woocommerce 商店页面上的类别列表项目中添加一个类
- php - 从服务器删除行时遇到问题
- linux - grep 用于提取具有特殊字符的单词
- python - 从 Pillow 中的 HSV 图像中提取色调通道