我有一个新项目和一个测试类,方法如下:
[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程序中使用它
答案 0 :(得分:-1)
Giesecke的非托管导出可以在VS2015上正常运行,但在VS2017或VS2019上不能正常运行。
尝试下载VS2015社区并在那里尝试示例。 确保要针对X64或X86而不是任何CPU进行构建。 非托管导出应生成一个DLL,以及一个LIB和RES文件。 您可以通过使用几个优良的.Net反编译器之一检查DLL来检查其是否被修改,我目前最喜欢的https://www.jetbrains.com/decompiler/