无法通过平台设置全部win32或x86加载程序集

问题描述 投票:0回答:1

我正在编写一个使用C#和C ++的程序(C#称为C ++)。在互联网上,人们说64位和32位汇编存在冲突,但是我将所有项目都设置为win32或x86。参见下图。current settings

我还尝试将C#应用程序设置为“ any cpu”,但是结果相同。关于我收到的错误,请参见下图。error message

根据HansPassant的建议,我将C#设置更改为prefer 32-bit,这会导致相同的错误。enter image description here

有人知道我当前问题的解决方案吗?

c# c++ dll
1个回答
0
投票

您首先需要确定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/

您可能不想使用整个软件包,但是它具有一个很好的功能,可以生成代码以调用本机库。

© www.soinside.com 2019 - 2024. All rights reserved.