Nuget Push(更新到软件包) - 在软件包管理器中显示为新安装

时间:2015-11-11 09:12:28

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

我有一个非常简单的post build脚本,它将我项目中的所有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 pack Objects.ForConsumers.nuspec

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

任何人都可以建议发生这种情况吗?

enter image description here

2 个答案:

答案 0 :(得分:0)

您选择了&#34; online&#34;左侧面板/选项卡上的选项。如果您选择&#34;更新&#34;并搜索您的包,您应该看到更新按钮。

答案 1 :(得分:0)

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

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

我更新了如下:

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

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

希望将来有人帮助其他人。