【问题标题】:Windows Form C# Application throws Could not load File or Assembly 'Mimekit' when run on different machineWindows Form C# 应用程序在不同机器上运行时抛出无法加载文件或程序集“Mimekit”
【发布时间】:2021-04-04 09:31:52
【问题描述】:

我的邮件提供商进行了更新,在较旧的 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,版本 2.10.0.0 , Culture=neutral, PublicKey Token=bede1c8a46c66814' 或其依赖项之一。 如果我将 exe 文件传输到 Win 7 - PC,也会发生同样的情况。

我有

  • 检查 MailKit 和 MimeKit 是否都列在解决方案参考中
  • 已尝试卸载并重新安装 MailKit 和 MimeKit(版本 2.10.0)
  • 已尝试将 MimeKit 升级到 2.10.1 版

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

我不知道该怎么办!?

【问题讨论】:

  • .net 核心随 Visual Studio 2019 一起安装,检查您的邮件应用程序使用的是 .NET 框架而不是 .NET 核心

标签: c# package nuget mimekit


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    相关资源
    最近更新 更多