Eag*_*arn 6 .net c# 32bit-64bit visual-studio
我有一个.net应用程序,
现在,当我在64位计算机上通过setup.exe安装此应用程序时,它安装在Program Files [x86]文件夹中; 我想这是在64位应用程序上模拟32位环境的WoW64功能.
现在当客户端要求将其转换为64位时,如果32位版本本身通过WoW64正常工作,为什么对他来说很重要?将它转换为64位会带来性能优势吗?
当我尝试将其转换为64位时,我是否需要为所有人更改它,即
请建议.
无需转换,您的应用程序已作为64位进程运行.因为您在EXE项目中使用了AnyCPU.您将它安装到错误的文件夹,但如果没有其他进程尝试以编程方式启动您的文件夹,则无关紧要.这非常罕见.
从TaskMgr.exe,进程选项卡验证这一点.32位进程在其进程名称后面有*32.
通过将安装项目的TargetPlatform设置更改为x64,使客户满意,以便将其安装在c:\ program files中.花几分钟.
您可以将 .NET 代码项目保留在 AnyCPU 上,但是要安装到 64 位而不需要更改您提到的安装程序项目属性所需的 32 位 WOW 内容。
如果您在安装程序中有自定义操作,当您更改为 64 位时,这些操作可能不起作用。你可能会得到一个BadImageFormatException. 要解决此问题,您需要处理生成的 MSI:
http://adamhouldsworth.blogspot.com/2010/10/64bit-custom-actions.html
如果您的应用程序是独立的,它不会对客户端产生太大影响。转到 64 位时,除了访问更多 RAM 之外,没有免费的性能优势(尽管 JIT 有不同类型的优化可用)。
我见过的唯一需要 64 位的情况是,当您在另一个应用程序中使用该 DLL 时,您不能在单个进程中混合位。
更新:也许缺少 64 位框架先决条件是因为您使用的是 VS 2005?
| 归档时间: |
|
| 查看次数: |
17273 次 |
| 最近记录: |