C# 在.Net中使用内核32

C# 在.Net中使用内核32,c#,c++,interop,C#,C++,Interop,SO社区的问题。我有一个C++源代码库,我可以用32位和64位的模式编译它。但是,要从.NET调用代码,我必须选择32位或64位,因此我的应用程序必须是32位或64位。我决定我可能不得不忍受这个问题。。。但我偶然发现了一些给我希望的东西。我注意到我可以在一个外部函数中引用“kernel32.dll”,并且程序在32位和64位都运行良好。有人知道这是怎么做到的吗 谢谢 这是Windows 64(WOW64)上Windows的一项功能: 您不能将它真正用于自己的库,因为它只用于System32文件夹

SO社区的问题。我有一个C++源代码库,我可以用32位和64位的模式编译它。但是,要从.NET调用代码,我必须选择32位或64位,因此我的应用程序必须是32位或64位。我决定我可能不得不忍受这个问题。。。但我偶然发现了一些给我希望的东西。我注意到我可以在一个外部函数中引用“kernel32.dll”,并且程序在32位和64位都运行良好。有人知道这是怎么做到的吗


谢谢

这是Windows 64(WOW64)上Windows的一项功能:

您不能将它真正用于自己的库,因为它只用于System32文件夹。(不要考虑将DLL放入System32。)


使用可能会有帮助,但我不确定。

太好了!SetDllDirectory只需在运行时将其设置为x86或x64即可工作。我刚试过,效果很好。非常感谢!