0

我有一个新项目和一个测试类,方法如下:

[ComVisible(true)]
[DllExport("Heartbeat2", CallingConvention = CallingConvention.StdCall)]
    public static void Heartbeat2(){
        //Do stuff here
    }

我在 DotNet 4.6 中使用最新的非托管导出(RGiesecke.DllExport)...运行 Nirsofts 查看器时,我在 dll http://www.nirsoft.net/utils/dll_export_viewer.html中看不到我的方法)

我也有 x86 的平台目标......我做错了什么?我计划在使用 Win32API 的 ruby​​ 1.8.1 程序中使用它

4

1 回答 1

-1

Giesecke 的非托管导出使用 VS2015 可以正常工作,但不能在 VS2017 或 VS2019 中使用。

尝试下载 VS2015 Community 并在那里尝试您的示例。确保您正在为 X64 或 X86 而不是任何 CPU 构建。非托管导出应生成一个 DLL,以及一个 LIB 和 RES 文件。您可以通过使用几个好的 .Net 反编译器之一检查 DLL 是否被修改,我目前最喜欢的是https://www.jetbrains.com/decompiler/

于 2020-02-10T18:25:47.543 回答