Nuget 语法

Nuget nuspec syntax

我正在 nuspec 文件中创建一个新的 nuget 包,它们似乎有一个奇怪的语法 $something$

<package >
  <metadata>
    <id>$id$</id>
    <version>$version$</version>
    <title>$title$</title>
    <authors>$author$</authors>
  </metadata>
 </package>

$id$ 的语法是什么?这只是一个内容占位符,所以我可以填写它。或者这是一个模板功能,它将 return id 变量?如果是后者,我应该在哪里声明这些变量?

它们是替换标记,基本上这样您就可以拥有一个 "generic" nuspec 文件。

例如,您的构建可能会决定最终的包版本,并且 "stamp" 它不仅会进入您的程序集,还会进入包中。

你可以这样做:

nuget.exe pack MyProject.csproj -properties version=1.3.3

这将替换 nuspec 文件中的“$version$”。

所有这些 here

当然,如果你喜欢,也可以用"plain text"代替。