【问题标题】:MSTSCLib.DLL BadImageFormatException, RDP control not working on 32bit OSMSTSCLib.DLL BadImageFormatException,RDP 控件在 32 位操作系统上不起作用
【发布时间】:2014-04-27 08:23:48
【问题描述】:

在我的应用程序中(与 2012 相比)我正在使用

Microsoft RDP 客户端控制

(COM) 远程连接到机器。除非我在 32 位操作系统上运行我的 exe,否则它运行良好,然后抛出 BadImageFormatException!

错误日志:

无法加载文件或程序集 Interop.MSTSCLib 或其之一 依赖关系。系统找不到指定的文件。

1- 我尝试了不同版本的 COM(Microsoft RDP 客户端控制版本 2 到 10),以及“Microsoft 终端服务客户端控制”

2- 我尝试将目标平台设置为 Any CPU, x86, x64

3- 我尝试嵌入库

我必须确保这个应用程序可以在 64 位和 32 位操作系统上运行,有什么想法吗??

【问题讨论】:

  • 不要只复制 EXE 文件,还必须复制 Interop 文件。您引用的异常消息与异常类型不匹配,这只是一条未找到文件的消息。无论您使用什么,计算机都必须安装正确的 .NET Framework 版本。
  • 但是我将使用过的库添加到 System32 文件夹中,在添加它们之前它不会在任何操作系统上运行,但是在我添加它们之后它只能在 64 位操作系统上运行。
  • 永远不要将文件复制到 system32,CLR 永远不会在那里查看。
  • 如果那里没有找到 DLL,我该怎么办??
  • 所有 文件从 bin\Release 目录复制到目标计算机上的安装目录。

标签: visual-studio 32bit-64bit remote-desktop rdp mstsc


【解决方案1】:

我在第二个答案中找到了解决方案: here

但我所做的只是使用目标 CPU x86 构建我的应用程序,并将 DLL 复制到我的 exe 的同一路径中,并且一切正常

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-29
    • 2015-09-26
    • 2015-11-15
    • 1970-01-01
    • 2012-07-26
    • 2013-07-15
    • 2011-12-18
    • 1970-01-01
    相关资源
    最近更新 更多