c# - 在 native C++ 中编写 C# 托管代码

标签 c# .net interop c++-cli managed-c++

我正在开发一个托管库(使用 Microsoft Web 服务)并且我正在 将它包含到一个 C++ 项目中。该项目不使用 /clr 选项, 所以当我包含我的库的头文件时 VS2005 向我显示错误 说我必须使用 /clr 选项。这样做我有一个不兼容 使用 /EHs 命令行选项(错误 D8016),但从 EHs 更改为 没有异常处理没有解决问题并不断向我显示相同的错误。

欢迎提出任何建议。

提前谢谢你。

最佳答案

如果您有非托管 C++ 代码并想使用托管代码,您有几个选择:

  • 使用 /clr 开关将非托管代码更改为 C++/CLI。
  • 编写一个 C++/CLI 包装器库。它可以 DLL 导出您在非托管代码中调用的非托管函数。
  • 跳过包装库并直接通过 DLL 导出非托管函数 this library .

关于c# - 在 native C++ 中编写 C# 托管代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6095982/

相关文章:

c# - 在异步单元测试中调用 Assert.Inconclusive() 被报告为失败

c# - XAML 中的对象初始值设定项

c# - 在第三方库代码中中止执行的最安全方法

c# - 从 C# 调用非托管 .dll 的性能

c# - IntPtr 不包含 native 值

c# - "Operator ' == ' cannot be applied to operands of type ' 字符 ' and ' 字符串 '"

c# - 检查非托管线程中的托管异常

javascript - 将文件存档到客户计算机上

c# - 使用 AutoResetEvent 暂停/恢复线程

c# - 在 C# 中处理 C++ .dll 调用的结果