C# 构建能否在一个平台上成功,但在另一个平台上失败?

C# 构建能否在一个平台上成功,但在另一个平台上失败?,c#,C#,我们有两个自动构建作业,每当有人试图签入对源代码管理的更改时都会运行。一个用于i386,一个用于amd64。我一直认为这是理所当然的,但我们的一位新员工问我们为什么需要他们两个,我不能给出一个诚实的答案。 所以问题是,C代码是否可以为i386编译,但为amd64编译失败(或反之亦然)?C代码设置为“”时,应该可以一次编译好 但是,如果代码依赖于32位或64位的外部代码,则可能需要创建两个构建过程 另一种方法是对特定于平台的库进行动态加载,以决定在运行时加载哪个库。这可能很棘手,但可能使您能够合并

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

C代码设置为“”时,应该可以一次编译好

但是,如果代码依赖于32位或64位的外部代码,则可能需要创建两个构建过程


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

您是否只关心编译或其他生成步骤,包括单元测试?您是否使用本机库?根据您的项目所做的工作,您的项目中是否有引用的本机程序集或特定于处理器的程序集?也有运行的自动化单元测试吗?我们使用的是托管C++。我想这就回答了问题