我想为nuget包添加Tags
。
我不想使用单独的.nuspec
文件(维护),
我只使用csproj进行包装。
我已尝试使用nuget pack -Properties Tags=demo
进行设置,但似乎无法正常工作..?
我试图解决一个更大的问题来创建一些可追溯性 使用标签中构建的提交ID? (在VSTS上使用 Build.SourceVersion )
参考文献:
答案 0 :(得分:1)
在.nupsec
cli添加标记时,您应该指定nuget pack
文件。
您可以在.nupsec
文件中设置元数据。您只能在.nuspec
文件中手动修改它以修改标签。此外,您还可以修改项目的assemblies.cs
文件中的元数据,但不能修改标签。
您也可以找到有关nuget pack -properties
选项的详细信息:
指定覆盖项目中值的属性列表 文件;有关属性名称,请参阅常见MSBuild Project Properties。该 这里的属性参数是令牌=值对的列表,以?分隔 分号,
$token$
文件中每次出现.nuspec
的分号 用给定的值替换。值可以是引号中的字符串 分数。请注意,对于“配置”属性,默认值为 “调试”。要更改为发布配置,请使用-Properties
Configuration=Release
。
所以标签不包含在Properties参数中,您只能使用$token$
参数修改.nuspec
文件中的-Properties
。
答案 1 :(得分:1)
实际上,与其他回复中所说的相反,有一种方法可以在没有nuspec文件的情况下执行此操作。
参考这里: https://docs.microsoft.com/en-us/nuget/reference/msbuild-targets#pack-target
NuGet也通过csproj支持大多数nuspec元素。
所以在你的csproj中,你会有类似的东西:
<PackageTags>MyTag1;MyTag2</PackageTags>
答案 2 :(得分:0)
您可以在.nuspec文件中添加一个占位符。
<tags>$tags$</tags>
,然后使用CLI设置属性。
C:> Nuget pack project.nuspec -Properties tags="MyTags"