【发布时间】:2011-09-20 03:35:37
【问题描述】:
我有一个用 C++ 编写的 DLL,需要由 C# 中的应用程序使用。 设置: 操作系统:Win7 32 操作系统 C++ DLL:64 位 C# 应用程序:64
对于 C++ 项目,我将平台设置为 64 位。然后我创建了 DLL。 如果我尝试访问 C++ dll,它会失败。 收到错误“无效的 DLL”
【问题讨论】:
-
你能写出你用来声明外部函数的代码吗?
-
"OS: Win7 32" - 您无法在 32 位操作系统上加载 64 位 DLL。
-
@Felice:我引用了 External 函数,就像另一个 c# 类库一样。以前它在 32 位 C++ dll 上运行良好。我添加了一个参考和使用程序集。我为该类创建了实例并进行了访问。现在我将 C++ 项目平台更改为 64 位,现在出现引用丢失错误。
-
@Lakshmanan 我现在才看到:看看@winSharp93 评论:)
-
@Felice 代替Load,有没有其他的参考方式?
标签: c# pinvoke 32bit-64bit