Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

load_assembly_and_get_function_pointer_fn ptr getting failed

未关闭
#7,002 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
需要澄清
活跃度
停滞
技术栈
cpp, csharp
领域
devtools

调研方向

从 native 代码片段的 load_assembly_fn 调用和 MyDotNetLib.MyClass.Hello 声明开始。验证应如何提供程序集路径、类型名称、方法名称和返回的函数指针,然后重现 0x80070057 结果。当成功获取指针且 native 调用到达 Hello 时,即视为完成。

由索引模型根据 Issue 内容生成。

描述

I am trying to call managed code from native, but load_assembly_and_get_function_pointer_fn getting failed with following error Failed to load assembly or get function pointer. Error code: 0x80070057

code snippet:

const string_t dotnetlib_path = STR("/home/yash/code/nativehost/MyDotNetLib/bin/Debug/net7.0/MyDotNetLib.dll");
const char_t *dotnet_type = STR("MyDotNetLib.MyClass, MyDotNetLib");
const char_t *dotnet_type_method = STR("Hello");

typedef void (*HelloDelegate)();
HelloDelegate hello_delegate = nullptr;
rc = load_assembly_fn(dotnetlib_path.c_str(), dotnet_type, dotnet_type_method, nullptr, nullptr,(void**)&hello_delegate);

if (rc != 0 && hello_delegate == nullptr) {
    std::cerr << "Failed to load assembly or get function pointer. Error code: " << std::hex << std::showbase << rc << std::endl;
    
    return false;

Csharp code:

using System; using System.Runtime.InteropServices; namespace MyDotNetLib { public static class MyClass { public static void Hello() { System.Console.WriteLine("hello"); } } }

主要语言
C#
星标
3.7k
派生
5.1k
平均合并
14 小时 56 分钟
30 天内合并 PR
2

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

dotnet/samples 的其他 Issue

查看 dotnet/samples 的全部 Issue

相似的 Issue

更多 C# Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。