首页 > 解决方案 > .NET Framework 和 .NET Core 中的进程地址不同

问题描述

我有一个在 .NET Framework 中开发的应用程序,现在我将其更新为 .NET CORE,在 .NET CORE 中,kernel32.dll (DllImportAttribute) 的 GetProcAddress 方法获得的进程地址与 .NET Framework 中的同一应用程序不同,因为如果它是完全相同的代码会发生这种情况?如何让 .NET CORE 为该进程返回与 .NET Framework 相同的地址?

[DllImport("kernel32.dll", CharSet = CharSet.Ansi, SetLastError = true)]
internal static extern IntPtr GetProcAddress(IntPtr hModule, string procName);

private static void GetProcess()
{
   IntPtr mh = Kernel32.GetModuleHandle("kernel32.dll");
   if (mh != IntPtr.Zero)
   {
      IntPtr load_library_w = Kernel32.GetProcAddress(mh, "LoadLibraryW");               
   }
}

我想知道如何获得与 .NET Framework 中相同的内存地址。

标签: c#.net-corekernel32

解决方案


推荐阅读