【问题标题】:calling Cplex within vb.net在 vb.net 中调用 Cplex
【发布时间】:2016-04-26 09:25:21
【问题描述】:

我的笔记本电脑上安装了 VB.net 2010 和 Cplex 12.5。我有一个控制台应用程序,它调用 cplex 来建模和解决问题。这个应用程序没有问题。

我生成另一个新的控制台应用程序,并将第一个应用程序的全部内容复制粘贴到新的应用程序中。我添加了与第一个文件中完全相同的所有引用,但新应用程序失败并显示以下错误消息:

“试图加载格式不正确的程序。 (HRESULT 异常:0x8007000B)"

这一行有错误:

 dim cplex as new Cplex()

这里有什么问题?

【问题讨论】:

    标签: vb.net settings cplex


    【解决方案1】:

    在您的 IDE 中,单击 "My Project",然后单击左侧第二个选项卡“Compile”。

    Prefer "32 Bit" 已检查?如果没有,请检查它。

    -目标CPU应该是AnyCPU

    .Net Framework - 您是否将其设置为相同的 .Net Framework 版本?

    你写了吗

    Option Strict on
    

    Option Infer Off 在您的代码中?

    【讨论】:

    • 我已验证。两者都使用相同的 .net 框架。在这两个应用程序中,选项严格是关闭的。将其更改为 on 会导致很多错误(两者)
    【解决方案2】:

    格式不正确异常表示新的应用程序 32/64 位配置与您正在调用的库不匹配,很可能是 CPLEX 库。将新应用程序的配置与旧应用程序进行比较。在解决方案资源管理器中右键单击解决方案并选择配置管理器...。在左上角的下拉列表中选择一个配置。请注意为您的项目选择的平台。这必须与您调用的任何库匹配。

    【讨论】:

    • 您能指导我如何检查 32/64 位配置吗?当我右键单击解决方案时,没有“配置管理器”。有一个“属性”选项可以打开项目属性。我检查了两个应用程序的属性窗口中的所有线程,它们都是相同的。我认为问题在于,在新应用程序中,我需要解决我的 CPLEX 安装的许可证密钥。但我不知道怎么做。
    • 配置管理器是我 VS 上的第 5 项。配置管理器是否列在 开始 按钮附近工具栏上的下拉列表中?
    • 如果您使用的是 Windows 8 或 10,任务管理器将在进程选项卡上指示 32 位应用程序。运行旧(工作)应用程序,查看应用程序名称中是否包含 (32 位)
    • 很遗憾没有。我做了这里建议的所有事情,这两个文件在所有内容中都是相同的,但新应用程序无法运行。
    • 我在进程选项卡中使用 Win 7 - 64b 和 dotNET4,(在 win 7 中)都提到了 vshost.exe *32 你知道,如果我应该在我的某处添加 CPLEX 的许可证密钥申请?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-08
    • 2018-03-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-22
    • 1970-01-01
    • 2011-09-13
    相关资源
    最近更新 更多