.NET Web应用程序的32位构建服务器和64位生产服务器

3

我们的工作站运行64位的Vista系统,而我们ASP.NET MVC Web应用程序的生产服务器则是64位的Server 2008服务器。然而,我们的TeamCity构建服务器却是一个运行32位Server 2008的服务器。我们将使用这些构建版本并在64位的生产服务器上部署它们。这些应用程序全部由C#编写。我需要担心在32位环境下进行构建吗?是否有必要升级我们的构建服务器?

2个回答

7

从技术上讲,这样做不应该有问题,因为编译器只会生成不依赖于平台的IL代码。

.NET应用程序将在生产环境中运行在x64 CLR上。在运行时,JIT编译器将生成x64代码。


谢谢。我也是这么想的,但我想确认一下。 - Lance Fisher
即使您正在生成平台相关的代码(来自C或C ++),人们可以合理地期望在x86上运行的x64交叉编译器生成与x64本机编译器相同的代码。 - bk1e
当然!编译器的代码库通常对于其编译运行的所有平台都是相同的。 - Mehrdad Afshari
有点晚了,但是补充一下:即使是 Visual Studio 2010 仍然使用 32 位的 msbuild。例如,SharePoint 2010 开发工具在 64 位的 msbuild 上实际上无法工作(因为 .workflow.targets 仅适用于 32 位),尽管 SP2010 必须使用 64 位。 - Michael Stum
我这里有一个示例工程项目 http://cid-812b0df85863a595.office.live.com/self.aspx/Public/64BitSolution.zip我该如何修改这个解决方案,以便在W7 64位Web服务器上正确编译和构建? - David

-2
根据我的经验,在32位计算机上编译应用程序并部署到64位计算机上会导致应用程序运行缓慢。不过对于Web应用程序可能会有所不同。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接