如何在nuspec中指定特定于配置的文件夹

时间:2016-11-16 09:17:18

标签: nuget nuspec

我见过的示例使用相对于nuspec文件位置的路径指定要包含的文件,例如:

<file src=".\bin\Debug\SomeFile.dll" target="..." />

有没有办法以这样的方式指定它,它将使用适当的源目录,具体取决于我的构建配置:即:

  • bin \ Debug如果我使用-Prop Configuration = Debug
  • 打包
  • bin \如果我使用-Prop Configuration = Release
  • 打包,则释放

1 个答案:

答案 0 :(得分:4)

<强> TL; DR

使用$configuration$令牌。

完整说明

在.nuspec文件reference中,在替换标记下,它将$configuration$标记定义为:

  

“用于构建程序集的配置,默认为Debug。注意   要使用Release配置创建包,您始终使用   -properties Configuration =在命令行上释放。“

继续:

  

在包含程序集时,也可以使用标记来解析路径   文件和内容文件。令牌与MSBuild具有相同的名称   属性,可以选择要包含的文件   取决于当前的构建配置。

然后以两个例子结束:

  

例如,如果在.nuspec文件中使用以下标记:

<files>
    <file src="bin\$configuration$\$id$.pdb" target="lib\net40\" />
</files>
  

然后构建一个AssemblyName为LoggingLibrary的程序集   MSBuild中的Release配置,结果行中的   包中的.nuspec文件如下:

<files>
    <file src="bin\Release\LoggingLibrary.pdb" target="lib\net40" />
</files>