我正在编写一个使用C#和C ++的程序(C#称为C ++)。在互联网上,人们说64位和32位汇编存在冲突,但是我将所有项目都设置为win32或x86。参见下图。
我还尝试将C#应用程序设置为“ any cpu”,但是结果相同。关于我收到的错误,请参见下图。
根据HansPassant的建议,我将C#设置更改为prefer 32-bit
,这会导致相同的错误。
有人知道我当前问题的解决方案吗?
您首先需要确定x86和x64库的位置:
x86path =(Path.GetDirectoryName(Assembly.GetAssembly(GetType())。CodeBase)+ @“ \ x86 \”)。Replace(“ file:\\”,“”);x64path =(Path.GetDirectoryName(Assembly.GetAssembly(GetType())。CodeBase)+ @“ \ x64 \”)。Replace(“ file:\\”,“”);
然后利用您想要的库并正确调用它,您将需要尝试InteropDotNet软件包:https://github.com/AndreyAkinshin/InteropDotNet
Github:https://www.nuget.org/packages/InteropDotNet/
您可能不想使用整个软件包,但是它具有一个很好的功能,可以生成代码以调用本机库。