2
我们有两个自动构建作业,当有人试图检入对源代码管理的更改时运行。一个用于i386,一个用于amd64。我一直认为这是理所当然的,但我们的一位新员工问我们为什么需要他们,我不能给出诚实的答案。 所以问题是可以为i386编译C#代码但是不能编译amd64(反之亦然)?当设置为一个平台可以构建成功,但另一个平台可能失败?
我们有两个自动构建作业,当有人试图检入对源代码管理的更改时运行。一个用于i386,一个用于amd64。我一直认为这是理所当然的,但我们的一位新员工问我们为什么需要他们,我不能给出诚实的答案。 所以问题是可以为i386编译C#代码但是不能编译amd64(反之亦然)?当设置为一个平台可以构建成功,但另一个平台可能失败?
C#应该一气呵成编译精“Any CPU”
然而,当代码依赖于已遵守了32位或64位,那么你可能需要创建两个构建过程的外部。
另一种方法是制作平台特定库的动态加载器,以决定在运行时加载哪些库。这可能会很棘手,但可能使您能够合并这两个构建过程。
你是否在意编译或其他构建的步骤,包括单元测试? – dbc
你使用本地库吗? –
取决于您的项目在做什么,您的项目中是否有任何本机或处理器特定的程序集被引用?你也有自动运行的单元测试吗? –