微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决CMake 在 docker 镜像中找不到 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 安装程序安装了以下工作负载

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

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

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

知道可能是什么问题吗?

解决方法

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。