【问题标题】:dotnet core dotnet build ignores changesdotnet core dotnet build 忽略更改
【发布时间】:2017-07-14 01:32:07
【问题描述】:

我有一个 dotnet 核心类库,我已经能够使用 dotnet cli“dotnet build --configuration Release”成功构建它。这很重要,因为我也在 Linux 服务器上的 Jenkins 中构建这个项目。

最近,我需要对项目进行一些修改。使用“dotnet build --configuration Release”再次构建它时,它构建了,但我的任何更改和添加都不存在。请注意,当使用“dotnet build --configuration Release”时,它在 Linux 中的 Jenkins 环境和我的 Windows 10 命令提示符之间的行为一致(成功和不成功)。

如果我使用 Visual Studio 2015(我假设它使用 MSBuild)进行构建,那么在我构建类库之后所有更改都会出现,并且一切正常。

我认为我的 project.json 有问题?

{
  "version": "1.0.0.*",

  "dependencies": {
    "NETStandard.Library": "1.6.0",
    "Dapper": "1.50.2",
    "Dapper.Mapper": "1.50.1"
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
  }
}

【问题讨论】:

  • 在构建之前仔细检查 Jenkins 是否拉取了您的最后更改
  • 是的,确实如此。它甚至会转储整个工作区并重新签出。但奇怪的是,这发生在我的 jenkins 之外的本地机器上。
  • @AaronBastian 您是否遇到过与 Linux 中的代理相关的任何问题?类似stackoverflow.com/questions/60889000/…
  • @user2700022 幸好我没有。

标签: .net jenkins build .net-core


【解决方案1】:

所以事实证明,这个问题的根本原因仅仅是我的解决方案结构不正确,并且没有引用该项目的 gobal.json 文件。我不完全确定哪个修复了它,或者为什么修复了它,但我的类库解决方案需要以下内容: SolutionItems 文件夹中的 global.json src 文件夹 - src 文件夹中的项目 - src 文件夹中的单元测试

接下来,linux 服务器的问题是它的 nuget push 命令无法识别 dotnet core Version 字符串。这已在 nuget cli 版本 3.5.0 中解决,但 Linux 尚不支持该版本。作为临时备份,我在一台运行 Jenkins 和 nuget cli 版本 3.5.0 的基于 Windows 的机器上创建了相同的作业,并且一切正常。

当下一个版本的dotnet core出来,并且有dotnet nuget push命令的时候,我相信我可以重新访问Linux服务器。

然后我在 Jenkins 中运行的命令是 点网还原 dotnet pack --configuration Release --versionsuffux %BUILD_NUMBER% nuget push PackageName ApiKey -Source http://NugetSource

【讨论】:

    【解决方案2】:

    你可能做到了,但是你在linux中重启了服务吗?

    【讨论】:

    • 是的。几次。
    【解决方案3】:

    如果依赖项或库已更改,旧文件会影响打包操作。

    1. 从项目中删除 objbin 文件夹。
    2. 运行dotnet restore
    3. 运行dotnet build --configuration Release

    【讨论】:

      猜你喜欢
      • 2020-04-03
      • 2018-01-20
      • 1970-01-01
      • 2019-01-29
      • 2020-03-30
      • 1970-01-01
      • 2018-02-27
      • 1970-01-01
      • 2018-12-19
      相关资源
      最近更新 更多