2

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

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

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

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

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

4

2 回答 2

3

您可以根据 .nuspec 文件创建一个包。脚步:

  1. 为您的项目生成 .nuspec 文件(命令:nugget spec)。

例如:(包括作者和描述令牌)

<?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 中的令牌) 在此处输入图像描述

更新1:

一般来说,您只需要更新项目的 AssemblyInfo.cs 文件(Author=>AssemblyCompany;Description=>AssemblyDescription;Version=>AssemblyVersion),它会根据此数据创建包,除非它无法从您的程序集中检索元数据(我有一个项目有这个问题)。

所以,步骤:

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

  2. 创建构建定义(1. Visual Studio Build 2. Nuget Packager with default value 3. Nuget Publisher)

于 2016-11-08T10:16:46.327 回答
1

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

  1. 为了像您一样指定属性,必须在与解决方案文件同名的目录中存在一个标记化的 *.nuspec 文件,当然 *.nuspec 文件需要签入到 VSTS/TFS。
  2. 描述的令牌名称不能是描述。

有关 *.nuspec 文件的更多详细信息,请在此处查看解决方案:

Nuget.exe 包警告:未指定说明。使用“描述”

于 2016-11-15T08:35:38.003 回答