首页 > 解决方案 > 在 .NET C# 中忽略 64 位程序集中的 32 位第三方 dll 错误

问题描述

在我的旧版 C# WPF + WinForms 64 位应用程序中,我使用了第三方 32 位 dll,它按预期抛出了以下异常

原因:无法加载文件或程序集“XYZ,版本=4.2.100.0,文化=中性,PublicKeyToken=abf8346bff9e0a32”或其依赖项之一。试图加载格式不正确的程序。

现在,如果此应用程序通过 Visual Studio 2015 运行,则会引发此异常,但它会继续运行该应用程序,但当它通过 Visual Studio 2017 运行时,它会拒绝运行。

即使抛出异常,Visual Studio 2015 如何继续运行应用程序?

我不拥有第三方 dll 的源代码,所以我很可能不得不使用 32 位版本。鉴于这种情况,我如何忽略此异常但继续通过 Visual Studio 2017 运行此应用程序,就像使用 Visual Studio 2015 一样?

我知道 32 位和 64 位 dll 不能在一个进程中混合,但我一直想知道,在相同的设置下,VS 2015 如何允许它运行而 VS 2017 拒绝运行。对此有任何指示吗?

标签: c#.net

解决方案


推荐阅读