Matlab:无法加载文件或程序集

问题描述

公平警告,我对使用 Matlab 和 Visual Studio 还比较陌生。

我一直在尝试创建可用于通过 USB 与 arduino 进行通信的代码。我找到了一些使用名为 CmdMessenger 的库的示例代码,这些示例提供了加载到 Arduino 的代码和使用 Visual Studio 构建的代码。默认情况下,示例在命令行上运行,但我将它们设置为创建 .DLL 文件并使用 NET.addAssembly 将这些文件添加到 Matlab 并使用它们。最初这工作得很好,我能够向我的 arduino 发送一个命令来切换 LED 一段时间,然后将确认信号发送回 Matlab。

不幸的是,我需要对示例代码进行更改,因此我添加了一些自己的代码并使用更适合我的需要的不同示例代码创建了一个新的 DLL。我能够再次使用“a = NET.addAssembly”并在 Matlab 中使用命名空间。然后我做了更多的更改,清除变量“a”,并再次尝试使用“a = NET.addAssembly”,但这次我收到了错误消息。

事实上,我尝试添加之前使用的示例 DLL,现在它也给了我相同的错误消息。我已经搜索过,但没有发现任何可以帮助我纠正这种情况的方法。

我给出的命令是:“a = NET.addAssembly('C:\DLL\SendAndReceiveArguments.dll');”

我收到的错误信息是:

Message: Could not load file or assembly 'file:///C:\DLL\SendAndReceiveArguments.dll' or one of its dependencies. An attempt was made to
load a program with an incorrect format.
Source: mscorlib
HelpLink:

对于解决此问题的任何建议,我们将不胜感激。

解决方法

在我上次发帖后 5 分钟,我从这个网站上提出的另一个问题中弄清楚了这一点。显示我到目前为止的搜索情况。

this question 的第一个答案使我走上了正确的道路。我需要做的就是在 Visual Studio 中右键单击该项目并选择“属性”。在此菜单中,从左侧面板中选择“构建”并确保将“平台目标:”设置为“任何 CPU”(由于某种原因,我的设置为 x86)。

Image: Under the project properties,go to the 'Build' menu and make sure 'Platform target:' is set to 'Any CPU'

通过此更改,我的项目可以毫无问题地加载到 Matlab 中。

很抱歉浪费了任何寻找我本可以找到的答案的人的时间,感谢您的时间。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...