zoukankan      html  css  js  c++  java
  • 呃,如何使 .NET 程序,在 64位 系统 中,以 32位 模式运行。

    其实最简单的方法就是在解决方案中,把平台设为 x86 就好了哈~

     

    但是今天遇到一个第三方的软件,它调用的一个 dll 是 32位 的,可能它没有测试过在 64位 系统下运行的情况,它在编译时是按默认的配置设为了 Any CPU。

    但是在 64位 系统中以默认 64位 模式运行时,再调用 32位 的 dll 就报异常了。。。

    于是想到的一个办法就是让它在 64位 系统中,以 32位 模式运行就好了~

     

    在网上搜了一下,没想到 .NET 本身就提供了这个修改工具,叫做 CorFlags.exe 。

    MSDN 文档:https://msdn.microsoft.com/zh-cn/library/ms164699(v=vs.110).aspx

    此工具一般会随 Visual Studio 一同安装(其实是 .NET SDK 的一部分)。

     

    1、所以打开开始菜单中的“VS 开发人员命令提示”工具:

    image

     

    2、直接输入 corflags 即可使用该工具(可以看到相关帮助内容):

    image

     

    3、首先是使用 corflags 程序集文件名 命令,不加任何参数,可以利用该工具查看 .NET 程序的相关信息:

    image

    好像主要是看 PE 那里是 PE32,然后 32BIT[REQ] 是 0,这个好像就代表了当前是 Any CPU 的状态。

     

    4、然后可以使用 corflags 程序集文件名 /32BIT+ 命令,主要是添加了 /32BIT+ 参数,可以设置将该程序以 32位模式运行:

    image

    没有任何错误提示应该就是成功了~

     

    5、可以用第3步的命令再检查一下设置的结果:

    image

    是吧,变化了~

    这时候再运行此程序就是以 32位 模式运行了,再加载 32位 的 dll 文件也不会出错啦~

    好样的。。。

    好像没什么大用是吗。。。

  • 相关阅读:
    js template实现方法
    linux su和sudo命令的区别
    使用u盘安装os x系统
    单个APP页面支持屏幕旋转
    iOS 抓取 HTML ,CSS XPath 解析数据
    Oslo 相机 App
    App 开发步骤
    iOS 自动布局框架 – Masonry 详解
    细聊 Cocoapods 与 Xcode 工程配置
    2017网页设计趋势
  • 原文地址:https://www.cnblogs.com/xwgli/p/5018046.html
Copyright © 2011-2022 走看看