使用64位框架构建我的.NET应用程序有什么好处吗?

时间:2009-04-09 12:22:05

标签: .net msbuild 64-bit

我们使用msbuild在专用于构建的服务器上构建我们的.NET应用程序。我们正在迁移到具有64位Windows 2003的新硬件。我可以使用Framework64中的64位版本的msbuild构建应用程序,或者我可以使用Framework中的32位版本构建它。使用64位版本的msbuild构建是否有任何优势?

5 个答案:

答案 0 :(得分:10)

不是特别没有。唯一真正的优势是64位版本的msbuild将能够利用更多的地址空间。这真的是关于它。

答案 1 :(得分:2)

否但可能存在一些缺点...如果您的应用程序使用任何第三方驱动程序,请确保它们也符合64位。我们遇到了一个问题,我们将旧的应用程序转换为.net并在Build-> General上保留了默认的“Platform Target:Any CPU”设置,并且当我们移动它时应用程序在其开发机器上运行良好它死了64位服务器。花了一些时间将它追溯到我们需要与外部数据源连接的第三方ODBC驱动程序。应用程序DID在64位平台上运行,我们只需要为CPU指定x86就可以达到目的。

答案 2 :(得分:2)

如果MSBuild正在运行依赖于x64库的测试;或者如果您的构建过程需要加载本机x64库,则需要使用msbuild x64。

我们必须使用msbuild x64,因为我们运行的是xunit测试,而我们的一些库已经为x64,因为它们调用的是本机x64库。

理论上我们可以使用不同的测试运行器来启动x64进程来运行测试;但使用msbuild x64是最简单的。

https://xunit.github.io/docs/running-tests-in-msbuild.html中所述:

  

您可以在MSBuild中使用<exec>任务来运行控制台运行程序。如果您需要在32位到64位环境中更多地控制运行测试,则可以选择使用控制台运行程序。使用MSBuild运行器时,您只能使用用于运行构建的MSBuild可执行文件的位数选择。

请注意,这与编译无关 - 我们可以使用msbuild x86构建我们的x64项目。

答案 3 :(得分:1)

如果你要做asp.net,一个很大的优点是IIS可以访问更多的内存,这为你提供了更多的可扩展性。

点不是岩石的家伙在这上做了一个节目 http://www.dotnetrocks.com/default.aspx?showNum=341

有很多非常好的信息。

答案 4 :(得分:0)

Biztalk互操作程序集是一个非64位能力的程序集的一个很好的例子。因此,在进行此类行动时/之后再次进行测试和测试。