【问题标题】:vnext build for .net core using dotnet command使用 dotnet 命令为 .net 核心构建 vnext
【发布时间】:2018-12-07 11:26:56
【问题描述】:

我正在尝试使用 TFS 2015 创建 CI 构建,而我们的应用程序是使用 Visual Studio 2017 .Net Core 2.1 创建的

使用命令行,我正在执行:

dotnet publish --no-restore

但我遇到了Nuget 错误。

...project.assets.json' 未找到。运行 NuGet 包还原以生成此文件。

目前,我的 nuget 包已在我的源代码管理中签入,并在我的 Nuget.Config 上提供。这样,我不需要每次构建都下载 nuget(代理也有一些限制)

<add key="globalPackagesFolder" value="..\packages" />

有人知道如何解决这个问题吗?

也欢迎任何其他构建 .net 核心应用程序的方法。 (MSBuild 等)。

【问题讨论】:

  • 该错误基本上意味着没有生成 Nuget.exe 所需的 project.assets.json 文件。由于您已签入所有包,因此您应该进行还原,因为它在本地可用,因此不会去 Nuget.org 下载任何包。与其在本地签入所有包,不如创建一个公共共享位置。这样,您将能够在多个项目之间共享通用包,而不是在 TFS 中检查它们。更新 Nuget 配置,将此共享位置视为源文件夹,然后执行 Dotnet Publish

标签: .net asp.net-core tfs nuget azure-pipelines


【解决方案1】:

您需要使用 MSbuild 15.0 来运行 .net core 应用程序。查看下面的博客:

https://www.dotnetcatch.com/2017/11/15/building-net-core-and-net-standard-projects-in-tfs-2015/

【讨论】:

    【解决方案2】:

    project.assets.json 文件是由 Nuget.exe 生成的,所以需要在构建定义中添加 NuGet 恢复任务。

    另外,如果包已经存在,它不会在 NuGet 恢复任务期间再次下载包。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-18
      • 2018-06-18
      • 1970-01-01
      • 2020-12-19
      • 2018-06-19
      • 2017-06-10
      相关资源
      最近更新 更多