gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 08:46:12 24 4
gpt4 key购买 nike

如果 .NET 程序直接或间接需要调用平台相关/ native /un managed代码它可能会崩溃。

在我买了一台安装了 Windows 7 64 位的新笔记本电脑并尝试使用 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 世界中生存。

我倾向于每个“答案”一个问题/技巧
所以它可以很容易地被评论/更新/引用。
- 随意给出几个“答案”。

我也会分享我自己的知识作为这个问题的答案。

最佳答案

提供额外的“仅 x86” main.exe 可以在涉及 native 代码时使生活更轻松

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

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

只要Windows 7 64-bit Visual Studio 2010 debugger is a 32-bit application x86 应用程序可以轻松调试。

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

对于无法运行 x86 代码或需要大量内存的机器,您可以提供额外的“任意 CPU”
EXE 版。此版本需要足够的安装以确保使用正确的平台特定代码。

Visual Studio 2010 How to: Configure Projects to Target Platforms描述如何将平台设置为 x64。与您可以针对 x86 的方式相同。

关于.NET, "Any CPU/64Bit (x64)/32Bit (x86)"最佳实践、提示和技巧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4529843/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com