Windows 当 运行 在不同的机器上时,表单 C# 应用程序抛出无法加载文件或程序集 'Mimekit'

Windows Form C# Application throws Could not load File or Assembly 'Mimekit' when run on different machine

我的邮件提供商进行了更新,在较旧的 Windows Form C# 解决方案中使用 Dot.Net Mail 产生了一些问题。我发现,建议使用 MailKit/Mimekit 而不是 Dot.Net 邮件。所以我也决定升级到更新的 Visual Studio 2019,在那里我可以使用 NuGet 包。

我安装了 Visual Studio 2019,使用管理 NuGet 包(浏览、右键单击、安装)安装了 MailKit,并在 C#(Windows 表单解决方案)中制作了一个简单的测试程序,我在其中发送了一个带有一些附件的电子邮件。

解决方案 100% 有效 - 只要我执行解决方案(调试和发布都在构建程序的 PC 上构建。

当我将发布版本(exe 文件)复制到类似的 PC(Win 10、DotNet 4.8)时,出现以下错误:无法加载文件或程序集 'Mimekit, Version 2.10.0.0, Culture=neutral, PublicKey Token=bede1c8a46c66814' 或其依赖项之一。 如果我将 exe 文件传输到 Win 7 - PC,也会发生同样的情况。

我有

这是我在 Visual Studio 2019 年的第一个解决方案,也是我第一次使用 NuGet 包。 我希望构建的 Release 版本可以作为文件副本传输到另一台 PC,但似乎缺少一些东西。

我不知道该怎么办!?

@Jada_DK,单独复制可执行文件并不能使依赖项在其他 PC 上可用。您需要通过发布向导分发应用程序或创建安装程序。请参考documentation here。或者,如果它是您不打算分发的快速示例应用程序,您可以将整个 bin/debug 或 bin/release 文件夹复制到另一台计算机,然后 运行 应用程序。