【发布时间】:2020-06-03 13:19:03
【问题描述】:
我遵循了这个教程:How to create a CLR Wrapper of C++ for using in C#
我的项目构建没有问题,我使用与教程相同的代码。
我正在尝试运行最终的 C# 控制台应用程序。 (双击生成的 c#.exe 文件)
它显示一个错误,而不是预期的控制台输出“4.1”:
有人知道为什么会这样说吗?:
未处理的异常。 System.BadImageFormatException:
无法加载文件或程序集“Clrcs,版本=1.0.7354.20945,文化=中性,PublicKeyToken=null”。
试图加载格式不正确的程序。
文件名:'ClrCs,版本=1.0.7354.20945,文化=中性,PublicKeyToken=null'
在 Cs.Program.Main(String[] args)
我的解决方案中的所有 3 个子项目:
- 设置为目标 .NET Core。
- 为 x86 构建为 Debug。
- 有必要的参考资料。
我为什么要尝试实现这一目标/我的问题是否有更好的解决方案?:
我想使用我的 SFML|OpenGL|C++“引擎”,使用 JavaScript 上运行的软件中的数据绘制 3D 对象。
我发现这个软件可以连接到它的 .js 文件中的 C# .dll,所以我是试图将我的非托管“引擎”作为 .dll 包装到 C# 中。
我已经知道可以从 dll 打开渲染窗口。
我在 C++ 控制台应用程序中进行了尝试,在其中我将“引擎”作为 .dll 导入。
接下来,我只需要将 CLR Wrapper 作为 .dll 导入 C# 应用程序,上述教程对此进行了解释,
但运行 .exe 文件时出现问题。我不知道为什么。
简而言之:
[SFML|OpenGL]C++ as .dll >into> C++/ CLR Wrapper as .dll >into> C# as .exe
你能帮帮我吗?有什么办法吗?
【问题讨论】:
标签: javascript c# c++ clr sfml