首页 > 解决方案 > 在 docker 镜像中找不到 CMake 没有 CSharp 编译器

问题描述

我正在尝试构建一个 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 安装程序安装了以下工作负载:

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

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

关于可能是什么问题的任何想法?

标签: c#dockercmakedockerfilecsc

解决方案


看起来我缺少一个 Visual Studio 组件,特别是Microsoft.Net.Component.4.TargetingPack.

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


推荐阅读