【问题标题】:Why does TeamCity generate both a Visual Studio (.sln) build-step and several .NET CLI (dotnet) build steps?为什么 TeamCity 会同时生成 Visual Studio (.sln) 构建步骤和多个 .NET CLI (dotnet) 构建步骤?
【发布时间】:2020-06-08 15:23:30
【问题描述】:

我正在尝试将我的解决方案设置为使用 TeamCity 2019 进行构建。当我输入项目 Git 存储库的 URL 时,TeamCity 会自动检测 4 个构建步骤:

  1. Visual Studio (sln) 目标:重建
  2. .NET CLI (dotnet) 恢复
  3. .NET CLI (dotnet) 构建
  4. .NET CLI (dotnet) 测试

我对第 2/3 步感到困惑。为什么 .NET CLI 在已执行重新构建时恢复和构建?这是否意味着我的 .sln 文件有些异常?

这个解决方案是一组 Windows 桌面 C++ 项目,如果这很重要的话。

我如此关心为什么这些构建步骤出现的原因是 .NET CLI 构建步骤因神秘错误而失败,TeamCity 论坛和 StackOverflow 上都对此进行了讨论:
https://teamcity-support.jetbrains.com/hc/en-us/community/posts/360007640660-error-MSB4019-The-imported-project-C-Microsoft-Cpp-Default-props-was-not-found-when-building-via-TeamCity

MSBuild in TeamCity of Visual Studio 2012 solution

对于这些构建步骤失败的原因,我找不到任何好的答案。 StackOverflow 上针对该问题的所有答案都非常笼统地“试试这个,试试那个”,而没有简单解释我哪里出错了。

【问题讨论】:

    标签: visual-studio teamcity


    【解决方案1】:

    这是 Build Runners 列表。

    在这种情况下,您可以忽略步骤 2,3 和 4。

    第 1 步(第一步:Visual Studio (sln) 目标:重建)足以重建一个 .sln 的所有项目。

    Teamcity 找到all project-point 4 类型并显示兼容跑步者的列表,用户必须决定哪些应该与给定项目兼容。

    【讨论】:

    • 谢谢;详细了解 TeamCity 如何自动检测构建步骤会有所帮助。我知道这很挑剔,但是为什么 TeamCity 会找到 2 组冗余构建步骤?我以为我几年前尝试过 TeamCity,自动检测到的构建配置在零修改的情况下工作。
    • 解决方案或项目可以与多个运行器兼容,例如可以使用 VS studio/dotnet cli 或 msbuild..etc 构建一个 .sln 文件...用户可以选择...让如果您想了解更多详细信息,请联系我。
    • 是的,我将不胜感激。例如:为什么我没有看到自动生成的 msbuild 步骤,但我看到了 NET CLI?
    • 为我的问题添加了更多细节。
    猜你喜欢
    • 2017-02-01
    • 2014-09-13
    • 2012-01-03
    • 2014-05-24
    • 2012-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-19
    相关资源
    最近更新 更多