构建是否可以在一个平台上成功,但在另一个平台上失败

本文关键字:平台 另一个 失败 成功 一个 是否 构建 | 更新日期: 2023-09-27 18:36:04

我们有两个自动生成作业,每当有人尝试签入对源代码管理的更改时,它们就会运行。一个用于 i386,一个用于 amd64。我一直认为这是理所当然的,但是我们的一位新员工问我们为什么需要他们两个,我无法给出诚实的答案。所以问题是 C# 代码可以为 i386 编译但为 amd64 编译失败(反之亦然)吗?

构建是否可以在一个平台上成功,但在另一个平台上失败

当设置为"任何CPU"时,C#应该可以一次性编译

但是,当代码依赖于已编译为 32 位或 64 位的外部时,您可能需要创建两个生成进程。

另一种方法是创建特定于平台的库的动态加载程序,该加载程序决定在运行时加载哪个库。这可能很棘手,但可能使您能够合并两个构建过程。