我们使用msbuild在专用于构建的服务器上构建我们的.NET应用程序。我们正在迁移到具有64位Windows 2003的新硬件。我可以使用Framework64中的64位版本的msbuild构建应用程序,或者我可以使用Framework中的32位版本构建它。使用64位版本的msbuild构建是否有任何优势?
我们使用msbuild在专用于构建的服务器上构建我们的.NET应用程序。我们正在迁移到具有64位Windows 2003的新硬件。我可以使用Framework64中的64位版本的msbuild构建应用程序,或者我可以使用Framework中的32位版本构建它。使用64位版本的msbuild构建是否有任何优势?
不是特别没有。唯一真正的优势是64位版本的msbuild将能够利用更多的地址空间。这真的是关于它。
不是特别没有。唯一真正的优势是64位版本的msbuild将能够利用更多的地址空间。这真的是关于它。
不,但可能存在一些缺点......如果您的应用程序使用任何第三方驱动程序,请确保它们也符合64位。我们遇到了一个问题,我们将旧的应用程序转换为.net并在Build-> General上保留了默认的“Platform Target:Any CPU”设置,并且当我们将它移动到应用程序时,应用程序在其开发机器上运行良好它死了64位服务器。花了一些时间将它追溯到我们需要与外部数据源连接的第三方ODBC驱动程序。应用程序DID在64位平台上工作,我们只需要为CPU指定x86就可以达到目的。
如果MSBuild正在运行依赖于x64库的测试;或者如果您的构建过程需要加载本机x64库,则需要使用msbuild x64。
我们不得不使用msbuild x64,因为我们正在运行xunit测试和一些库 有 是x64,因为它们调用本机x64库。
从理论上讲,我们可以使用不同的测试运行器来启动x64进程来运行测试;但使用msbuild x64是最简单的。
如中所述 https://xunit.github.io/docs/running-tests-in-msbuild.html :
你可以使用
<exec>
在MSBuild中运行控制台运行程序的任务。如果您需要在32位到64位环境中更多地控制运行测试,则可以选择使用控制台运行程序。使用MSBuild运行器时,您只能使用用于运行构建的MSBuild可执行文件的位数选择。
请注意,这与编译无关 - 我们可以使用msbuild x86构建我们的x64专用项目。
如果你要做asp.net,一个很大的优点是IIS可以访问更多的内存,这为你提供了更多的可扩展性。
点不是岩石的人做了这个节目
http://www.dotnetrocks.com/default.aspx?showNum=341
有很多非常好的信息。
Biztalk互操作程序集是一个非64位能力的程序集的一个很好的例子。因此在进行此类移动时/之后再次进行测试和测试。