c# - 在 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 安装程序安装了以下工作负载:
Microsoft.VisualStudio.Workload.MSBuildTools
Microsoft.VisualStudio.Workload.ManagedDesktopBuildTools
Microsoft.VisualStudio.Workload.VCTools
Microsoft.VisualStudio.Component.Windows10SDK.17763
Dockerfile
如有必要,我可以提供完整的。
无论如何,测试我可以找到的构建图像msbuild
和csc
编译器,CMake 不能。
关于可能是什么问题的任何想法?
解决方案
看起来我缺少一个 Visual Studio 组件,特别是Microsoft.Net.Component.4.TargetingPack
.
为了检测正确的 C# 编译器,CMake 编译了一些源代码。此编译针对我缺少的 .NET Framework v4。
推荐阅读
- html - 难以在图像上正确添加块引用
- angular - 使用 chart.js 的角度重叠条
- angular - 从构建中排除特定项目代码
- go - 在 Go 中使用 ODBC 构建静态二进制文件
- python - JSONDecodeError:额外数据:第 1 行第 8 列(字符 7)
- ruby-on-rails - ruby-debug-ide 命令在我面前爆炸
- javascript - 下拉菜单中的图像显示
- python - 错误“通过了 6 列,传递的数据有 286 列”
- rdkit - 如何解释从 Chem.RDKFingerprint(mol) 获得的特征
- css - 使用 CSS 停止根据屏幕大小移动的项目 - Wordpress/Divi