DLL无法加载,Win10上的方法未解决错误

时间:2020-05-15 04:55:03

标签: c# c++ visual-studio dll

我正在引用一个托管的C ++ DLL,该DLL在我的C#代码中具有本机C ++作为引用。 我在VS 2019,Windows 10中运行它,当我运行该程序并复制了build文件夹中的所有DLL后,出现错误

FILEIOException:无法加载“ xxx.dll”导入的过程,

因此我无法调试任何东西。

如果我仅构建解决方案,并在运行Windows XP的计算机上运行时生成exe,它就会运行,而且我在WinXP计算机上安装了VS2019社区,它也可以正常运行。 .net4.5中的项目目标

dll以这种方式可能是什么原因? 我是否应该要求dll编写者仅在VS2010上工作才能在VS 2019中创建dll?

如果exe是在其他计算机上构建并复制到Win10,则它可以在Win10计算机上正常运行。

我怀疑有些Visual Studio或dll问题,但无法解决

代码如下,所有计算机中都有一个文件夹,其中所有dll位于特定位置:

static void Main(string[] args)
    {
        Initialize();
        InvokeLibrary();
    }

 static void Initialize()
        {
          AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(ResolveAssembly);
        }

   static Assembly ResolveAssembly(object sender, ResolveEventArgs args)
        {
            Console.WriteLine("Resolving Assembly....");

            String strDllName = "full path";

            Assembly MyAssembly1 = Assembly.LoadFile(strDllName);

            return MyAssembly1;
        }

static void InvokeLibrary()
        {
/// call functions in assembly
}

0 个答案:

没有答案