0

我有一个非常简单的后期构建脚本,它将我项目中的所有 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.com myApiKey

谁能建议这是发生了什么?

在此处输入图像描述

4

2 回答 2

0

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

于 2015-11-13T23:24:18.030 回答
0

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

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

我将其更新如下:

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

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

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

于 2015-11-14T10:48:11.887 回答