CMake 在 docker 镜像中找不到 CSharp 编译器

时间:2021-03-02 13:40:01

标签: c# docker cmake dockerfile csc

我正在尝试构建一个 docker 镜像来为我组织的一个项目设置 CI/CD。 该项目主要是 Windows C++ (MFC),但也有一些 C# 组件。

实际上,这些项目都是手工管理的,但我正在迁移到 CMake 并自动化构建过程。

本地一切正常,但在 CI/CD 服务器上构建时,CMake 说 No CMAKE_CSharp_COMPILER could be found

我正在构建的 docker 映像基于 mcr.microsoft.com/windows/servercore:ltsc2019,并且我使用 Visual Studio Build Tools 安装程序安装了以下工作负载:

  • Microsoft.VisualStudio.Workload.MSBuildTools
  • Microsoft.VisualStudio.Workload.ManagedDesktopBuildTools
  • Microsoft.VisualStudio.Workload.VCTools
  • Microsoft.VisualStudio.Component.Windows10SDK.17763

如有必要,我可以提供完整的 Dockerfile

无论如何,测试构建的镜像我可以找到 msbuildcsc 编译器,而 CMake 不能。

知道可能是什么问题吗?

1 个答案:

答案 0 :(得分:0)

看起来我缺少一个 Visual Studio 组件,特别是 chromedriver

为了检测正确的 C# 编译器,CMake 编译了一些源代码。此编译针对 .NET Framework v4,这是我所缺少的。