【问题标题】:Unable to deploy app with nuget references on server无法在服务器上部署具有 nuget 引用的应用程序
【发布时间】:2019-12-10 20:05:37
【问题描述】:

我很难在服务器上部署我的第一个带有 nuget 引用的 .net 核心应用程序。在本地,该应用程序运行良好(能够使用 nuget 包)。

显然,没有 packages.config。我正在使用 Dapper、Newtonsoft.Json 等。项目在哪里存储对这些包的引用?没有包文件夹。

在解决方案文件夹中,有一个 nuget.config 文件,由于某种原因是空的。

我应该在这里添加什么

【问题讨论】:

  • 嗨,Leo,我们的 DevOps 人员正在研究您提供的解决方案。我会尽快更新你。谢谢。
  • 你好朋友,这个问题的结果如何?下面的答案是否解决了您的问题,如果是,您可以接受它作为答案,这样它可以帮助遇到同样问题的其他社区成员,我们可以存档这个帖子,谢谢。如果没有,请告诉我们您是否需要进一步的帮助。
  • 嗨,Leo,很抱歉我们在构建这个方面的知识有限。请查看此链接i.stack.imgur.com/w5W7B.png DevOps 家伙在下拉列表中没有看到 2.*。我们究竟需要在这里做什么?谢谢
  • 您似乎没有使用 Azure devops。你用的是 TFS?你的 TFS 版本是多少?或者您可以在 nuget.exe 和 4.0 中使用 nuget 命令行。
  • 是的,使用 TFS 2016

标签: azure asp.net-core azure-devops nuget


【解决方案1】:

无法在服务器上部署具有 nuget 引用的应用

那是因为你在构建管道中使用的是旧版本的 nuget restore 任务,它只支持包管理类型packages.config 不支持PackageReference

这就是旧版本任务要求你提供packages.config的路径的原因。 PackageReference是后续产品,所以之前版本的nuget restore task不支持。

查看the blog了解更多详情。

要解决这个问题,请使用V2的nuget还原任务:

注意:

  • PackageReference需要nuget.exe 4.1及以上版本,请补充 一个NuGet tool installer 来安装4.1 以上的nuget 版本。
  • 使用 .NET Core 还原任务也应该可以解决此问题。

更新:

是的,使用 TFS 2016

由于您使用的是 TFS 2016,您可以尝试使用命令行调用 nuget.exe 来恢复包,而不是使用 nuget 安装程序任务:

从nuget.org下载4.0以上的nuget.exe,然后设置在TFS服务器上。

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    您需要创建一个NuGet.config 文件,该文件指向您正在使用的任何 NuGet 提要,将其添加到源代码管理,并在您的构建中引用它。我将使用官方提要作为我的示例。如果您使用 Visual Studio 进行开发,则默认情况下此源已存在,这可能解释了为什么生成在本地运行而不是在 Azure DevOps 上运行。

    至少,您的NuGet.config 文件需要如下所示:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <packageSources>
        <add key="NuGet.org Feed" value="https://api.nuget.org/v3/index.json" />
      </packageSources>
    </configuration>
    

    在 .NET Core 中,包现在全局存储在您的用户目录中。 packages.config 已被删除以支持项目文件中的 PackageReference 节点,因此请检查您的 csproj 以查看您正在引用的 NuGet。

    【讨论】:

    • 感谢您的回复。我的问题是我的服务器无法访问互联网。所以我需要在包含解决方案的文件夹中拥有所有包,然后才能签入代码。 Packages 文件夹为空。
    【解决方案3】:

    您应该使用任务dotnetcorecli 具有

    #command: 'build' # Options: build, push, pack, publish, restore, run, test, custom
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-02
      • 1970-01-01
      • 1970-01-01
      • 2014-08-09
      相关资源
      最近更新 更多