【问题标题】:Nuget Push (update to package) - showing as new install in package managerNuget Push(更新到包) - 在包管理器中显示为新安装
【发布时间】:2016-02-12 08:30:16
【问题描述】:

我有一个非常简单的后期构建脚本,它将我项目中的所有 dll 打包到自定义 nuget 服务器。这很好用,但是,当从任何解决方案打开包管理器时,我将 nuget 包视为新安装,而不是预期的“更新”选项。

我使用的 nuspec 文件是:

<?xml version="1.0"?>
<package >
  <metadata>
    <id>Objects.ForConsumers</id>
    <version>1.2015.1111.11</version>
    <title>Objects.ForConsumers</title>
    <authors>My Firm</authors>
    <owners>My Firm</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Objects For Consumers</description>
    <releaseNotes></releaseNotes>
    <copyright>Copyright 2015</copyright>
    <tags>Objects For Consumers</tags>
  </metadata>
  <files>
    <file src="*.dll" target="lib" />
  </files>
</package>

版本号随着每次构建而递增。

命令本质上是

nuget 包 Objects.ForConsumers.nuspec

nuget push Objects.ForConsumers.1.2015.1111.12.nupkg -s http://nuget.myserver.commyApiKey

谁能指出这是怎么回事?

【问题讨论】:

  • 你能贴一张你的包管理器的截图吗?
  • 按要求发布。

标签: nuget nuget-package nuget-server nuget-spec


【解决方案1】:

您已选择左侧面板/选项卡上的“在线”选项。如果您选择“更新”并搜索您的软件包,您应该会看到更新按钮。

【讨论】:

  • 很遗憾,更新部分没有显示任何内容。
【解决方案2】:

我终于偶然发现了这个解决方案。我的 nuspec 文件有以下内容:

  <files>
    <file src="*.dll" target="lib" />
  </files>

我更新如下:

  <files>
    <file src="*.dll" target="lib" />
    <file src="*.dll" target="lib/net40" />
  </files>

(在我的 .net 版本的特定文件夹中添加)现在一切正常!

希望这对将来的其他人有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多