VSTS Automated Build NuGet Packager / Publisher

时间:2016-11-08 00:20:30

标签: nuget tfsbuild nuget-package nuget-spec

我的包构建成功并上传到VSTS中的Packages feed但是我似乎无法弄清楚如何编辑包的描述和作者,以便我的设置值显示在Package feed中。

根据我的阅读,我将我的内容放在NuGet Packager的其他构建属性下,当我查看日志文件时,我看到了:

...NuGet.exe pack "...csproj" -OutputDirectory "..." -Properties Configuration=release;Description="My Description";Authors="Me";Owners="My Company"

从文档中我相信我做得对(但显然我没有)。对于“附加构建属性”与NuGet Arguments中的内容,似乎有点令人困惑。

我的目标是获取我设置为可在Visual Studio中的NuGet包管理器中查看的描述和作者。

2 个答案:

答案 0 :(得分:2)

您可以根据.nuspec文件创建包。 步骤进行:

  1. 为您的项目生成.nuspec文件(命令:nugget spec)。
  2. 例如:(包括作者和描述标记)

    <?xml version="1.0"?>
    <package >
      <metadata>
        <id>CommLib1</id>
        <version>1.0.0.6</version>
        <title>CommLib1</title>
        <authors>$author$</authors>
        <owners>$author$</owners>
        <licenseUrl>http://LICENSE_URL_HERE_OR_DELETE_THIS_LINE</licenseUrl>
        <projectUrl>http://PROJECT_URL_HERE_OR_DELETE_THIS_LINE</projectUrl>
        <iconUrl>http://ICON_URL_HERE_OR_DELETE_THIS_LINE</iconUrl>
        <requireLicenseAcceptance>false</requireLicenseAcceptance>
        <description>$description$</description>
        <releaseNotes>Summary of changes made in this release of the package.</releaseNotes>
        <copyright>Copyright 2016</copyright>
        <tags>Tag1 Tag2</tags>
      </metadata>
    </package>
    
    1. 将此文件包含在源代码管理
    2. 指定Nuget Packager构建步骤的Nuget Arguments(步骤1中的标记) enter image description here
    3. UPDATE1:

      通常,您只需要更新项目的AssemblyInfo.cs文件(Author =&gt; AssemblyCompany; Description =&gt; AssemblyDescription; Version =&gt; AssemblyVersion),它会根据此数据创建包,除非它可以&#39 ; t从程序集中检索元数据(我有一个项目有此问题)。

      所以,步骤:

      1. 确保nuget可以通过nuget.exe命令直接在本地/构建机器中创建包来检索必要的元数据(nuget pack [XX] .csproj)

      2. 创建构建定义(1. Visual Studio Build 2. Nuget Packager,默认值为3. Nuget Publisher)

答案 1 :(得分:1)

如果它正在构建软件包,那么NuGet Packager构建步骤就没有问题了。但有两件事需要改变。

  1. 为了指定您正在执行的属性必须是与具有相同名称的解决方案文件位于同一目录中的标记化* .nuspec文件,当然需要将* .nuspec文件签入VSTS / TFS
  2. 描述的令牌名称不能是描述。
  3. 有关* .nuspec文件的更多详细信息,请参阅此处的解决方案:

    Nuget.exe pack WARNING: Description was not specified. Using 'Description'

相关问题