Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
团队正在从XP32到XP64进行.NET开发-有什么问题吗?_.net_Visual Studio_Windows Xp_64 Bit - Fatal编程技术网

团队正在从XP32到XP64进行.NET开发-有什么问题吗?

团队正在从XP32到XP64进行.NET开发-有什么问题吗?,.net,visual-studio,windows-xp,64-bit,.net,Visual Studio,Windows Xp,64 Bit,我的团队正在获得新的XP64工作站。到目前为止,我们一直在使用XP32。我们的大部分工作都是在托管C#/VS2008/.NET3.5和SQLServer2005中完成的。然而,我们确实有一些应用程序仍然在VS2005/.NET2.0中。我们的大多数应用程序都是ASP.NET webforms应用程序和WCF服务,它们在生产中的64位服务器上运行。然而,我们正在进行一些WPF开发,这些开发必须在32位机器上运行 我们是否应该注意到任何通病或过渡痛苦?Sun有一篇关于它的好文章 这对于当前的32位处

我的团队正在获得新的XP64工作站。到目前为止,我们一直在使用XP32。我们的大部分工作都是在托管C#/VS2008/.NET3.5和SQLServer2005中完成的。然而,我们确实有一些应用程序仍然在VS2005/.NET2.0中。我们的大多数应用程序都是ASP.NET webforms应用程序和WCF服务,它们在生产中的64位服务器上运行。然而,我们正在进行一些WPF开发,这些开发必须在32位机器上运行


我们是否应该注意到任何通病或过渡痛苦?

Sun有一篇关于它的好文章

这对于当前的32位处理器来说并不罕见 应用程序假定int 类型、长类型和指针是 同样大小。因为它的大小很长 和LP64数据中的指针更改 模型,仅此更改就是 ILP32至LP64的主要原因 转换问题

视情况而定

您是否在代码中使用了p/Invoke

您是否使用了非托管代码和封送数据进出?如果是这样的话,那么您将不得不仔细检查这段代码:(

但是,如果您的代码是纯C#,它没有使用p/Invoke,那么您应该看到的唯一区别是性能略有提高,内存性能也更好:)

然而,您可能会遇到为您的开发机器寻找驱动程序的小精灵


如果您有一些32位代码,那么也许您可以为其创建一个WCF接口(命名管道非常、非常快),并使用它与32位服务进行通信。我知道在64位进程中不能有32位代码,但我认为可以打开一个32位进程的管道,除非我弄错了。在这种情况下,您可以始终使用TCP/IP。可以避免您在系统中重写关键代码,并允许您使用WOW64或VM来处理迁移问题。

去年我使用XP 64位已有几个月了。我的经验是,Microsoft开发堆栈的安装和工作没有任何问题,包括64位版本的SQL Server

我的华硕主板上的Marvell Yukon网卡的网络驱动程序出现了问题。64位驱动程序有严重的问题,这些问题不是很明显,但经过几个月的密集测试后变得明显。千兆网络上的网络传输速率不如预期,当两个进程访问同一网络资源时,Windows将崩溃

我的建议是,就像另一张海报建议的那样,在切换整个团队之前测试硬件和软件设置。这更可能是您看到问题的地方。

希望这有帮助



也可以查看此提示

更多精彩博客提示:



本网站致力于帮助Windows ISV生态系统为平台的新版本开发高质量的应用程序。Windows 7最近在PDC 2008大会上发布,右侧提供了一个指向新应用准备就绪“食谱”的链接


微软公司的运营人员在博客中介绍了他们迁移到x64的情况,以及这一切是如何工作的。

我在64位平台上开发已有一段时间了。这是一个小提示,可以帮你省去头痛

如果你得到了例外

“BadImageFormatException”(例如“可能 不装载或组装 'Microsoft.TeamFoundation等或 它的一个依赖项。一次尝试 使其加载带有 格式不正确“)

应用程序很可能找不到64位版本的程序集

在使用OLEDB/Jet驱动程序访问数据库时,我们经常遇到此错误。我也体验过与TFS集成的工具

要解决此问题,请转到项目设置“高级编译选项”下的“编译”选项卡,并选择“x86”作为目标CPU


希望这有帮助

如果您引用的是针对32位编译的任何第三方DLL,则必须针对32位应用程序。这可以通过更改项目设置或使用带有/32BIT+参数的应用程序来完成

在XP x64作为开发工作站的许多月中,我遇到的唯一一个“问题”是,在64位应用程序中,在Visual Studio调试器中,“编辑并继续”不起作用。

  • 混合模式调试是一个问题,如果 你可以使用任何C++和C 64位的应用程序。
  • 仍然有许多开发工具不支持在Windows x64上运行或不支持使用64位二进制文件。以Compuware DevPartner为例。它目前只支持32位应用程序开发,但应用程序本身将在64位Windows上运行

您将无法从.NET x64与MS Access数据库通话,因为没有x64 Jet驱动程序


我认为这是移至X64的一个很好的理由。

< TFS不支持64位(TFS Server,不确定Team Explorer)

< p>您可以使用String .GethAsHeDe()来运行一个问题。在32位和64位机器上返回同一个字符串的不同值,因为它们将运行CLR的不同版本。

关键是:

GetHashCode的行为取决于其实现,而实现可能会从公共语言运行库的一个版本更改为另一个版本。发生这种情况的原因之一是为了提高GetHashCode的性能


更多信息和。

现在将有两组ODBC数据源(DSN):32位和64位。有些数据库目前没有更新的64位驱动程序,因此您将被迫使用32位驱动程序,或者您可以等待

我们遇到了两种不同类型的问题:

  • 我们有一个包装了本地32位dll的第三方组件。供应商没有提供64位版本,因此我们必须以32位开发为目标

  • 一些司机的问题。XP-64还没有完全理解