首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.NET,"Any CPU/64Bit (x64)/32Bit (x86)“最佳实践、提示和技巧

.NET,"Any CPU/64Bit (x64)/32Bit (x86)“最佳实践、提示和技巧
EN

Stack Overflow用户
提问于 2010-12-25 17:13:15
回答 1查看 6.5K关注 0票数 8

如果.NET程序直接或间接地需要调用依赖于平台的/本机/非managed代码,它可能会崩溃。

当我买了一台安装了Windows764位的新笔记本,并尝试使用SQLite数据库进行开发时,这个32位/64位的主题就出现在了我的脑海中。

System.Data.SQLite包含托管代码和非托管代码。有一个32位版本和一个64位版本,两者具有相同的文件名,但大小不同,您的EXE必须使用正确的版本。

更复杂的是:我的Visual Studio 2010 debugger is a 32-bit application,所以在使用GAC中的"System.Data.SQLite-64bit“时,我无法进行调试!

作为.NET开发人员,我们需要指导方针/诀窍/最佳实践。

据我所知,收集这类信息的最佳地点是这个网站(https://stackoverflow.com/)。

因此,请分享您的想法和已知问题,它们可以作为在32/64/anyCPU dotnet世界中生存的最佳实践或指导方针。

我喜欢每个“答案”都有一个问题/技巧,这样它就可以很容易地被注释/更新/引用。-请随意给出几个“答案”。

我也会分享我自己的知识来回答这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-25 17:14:25

当涉及到本机代码时,提供额外的"x86 only“main.exe可以使工作变得更容易

在阅读了anycpu-exes-are-usually-more-trouble-then-they-re-worth之后,我意识到提供一个额外的“仅限x86”的main.exe可以让生活变得更简单。

由于Windows 7 64位可以执行x86-32位应用程序,因此x86-程序可以在大多数.NET系统上运行(但不能在非Intel Mono系统上运行)。

只要Windows 7 64-bit Visual Studio 2010 debugger is a 32-bit application,就可以很容易地调试x86应用程序。

x86发行版具有尽可能多的“任何CPU”DLL,除了主EXE和特定于CPU的DLL。

对于不能运行x86代码的机器或需要巨大内存的机器,您可以提供额外的"any-CPU“EXE版本。此版本需要进行充分的安装,以确保使用了正确的平台特定代码。

Visual Studio 2010 How to: Configure Projects to Target Platforms介绍了如何将平台设置为x64。以同样的方式,您可以针对x86。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4529843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档