2015-01-04 55 views
2

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

+0

你是否在意编译或其他构建的步骤,包括单元测试? – dbc

+0

你使用本地库吗? –

+0

取决于您的项目在做什么,您的项目中是否有任何本机或处理器特定的程序集被引用?你也有自动运行的单元测试吗? –

回答

3

C#应该一气呵成编译精“Any CPU

然而,当代码依赖于已遵守了32位或64位,那么你可能需要创建两个构建过程的外部。

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

相关问题