【问题标题】:Visual Studio 2019 Error - Could not load file or assembly or one of its dependenciesVisual Studio 2019 错误 - 无法加载文件或程序集或其依赖项之一
【发布时间】:2019-12-06 14:26:33
【问题描述】:

我在运行我的项目时遇到了一些问题。当我尝试运行时,出现以下错误:

FileNotFoundException: 无法加载文件或程序集 'Dapper, Version=2.0.0.0,Culture=neutral,PublicKeyToken=null' 或其之一 依赖关系。系统找不到指定的文件

上下文:

我有一个依赖于 X 的类库 X 和一个 Web 应用程序 Y。当我尝试运行我的 API 项目时,它会抛出上述错误。 但是,当我的同事尝试运行相同的 API 项目时,它工作正常(没有错误,并且在 /bin 文件夹中,它加载了所有 .dll 库..)

我采用了这些方法:

  • 重新启动 Visual Studio,清理并构建解决方案
  • 删除类库引用并重新添加
  • 工具 > 导入和导出设置向导 > 重置所有设置(可能某些设置未正确配置)。我也试过导入同事设置,也没用。

我尝试了各种方法(即使在不同的机器上,但 VS 设置相同),但这些方法都不适合我。

Visual Studio 2019 16.4 企业版。

【问题讨论】:

  • 你需要为 Dapper 安装 nuget 包。

标签: c# .net web-applications visual-studio-2019


【解决方案1】:

我也想试试:

1) 在重建之前删除解决方案中的 bin 和 obj 文件夹。

2) 检查您是否在解决方案中没有同一包的多个版本(在解决方案资源管理器中右键单击解决方案 -> 管理解决方案的 nuget 包)。

3) 检查参考的属性(在相关参考的解决方案资源管理器中右键单击)是否显示了您期望相对于解决方案的包的路径(例如,不在 mydocuments/nuget 包或其他东西中! )。

4) 尝试重新克隆 repo(这实际上应该复制您同事的设置),然后查看问题是否仍然存在。

我想另一个原因可能是你的同事有一个本地安装的包/dll,他们很乐意在没有意识到的情况下引用它,但你没有?

【讨论】:

    【解决方案2】:

    当您从某人或其他系统复制项目时,您需要下载并安装所有组件。通常,当您从 git 加载新导入的文件时,VS 会为您提供“恢复包”选项,但不确定当您从其他系统打开现有解决方案时是否会这样做。

    右键单击您的项目,管理 Nuget 包
    浏览 -> 搜索 Dapper。安装

    在您收到的错误中,它还告诉您应该安装哪个版本的软件包。安装明显不同的版本可能会导致其他意外错误。

    【讨论】:

    • 问题不在于恢复包(我也尝试恢复包)。 Dapper 只是一个例子。在这种情况下,Dapper 安装在 Class Library X 上,但是当我构建解决方案时,在 /bin 文件夹中没有 dapper.dll 或对此包的任何引用。
    • 删除引用...卸载并重新安装包
    【解决方案3】:

    感谢您的解决方案,但我发现了问题:

    项目解决方案有一些使用 .net 标准 2.0 的项目和一些使用 .net 框架 4.8 的项目。不知何故,当我运行该应用程序时,某些包未正确加载并引发错误。

    下面那一行解决了我的问题:

    <RestoreProjectStyle>PackageReference</RestoreProjectStyle>
    

    将它放在所有 .net framework 4.8 项目中的第一个 XML 标记上。

    谢谢大家。

    问候。

    【讨论】:

    • 你在哪里添加了RestoreProjectStyle标签?
    【解决方案4】:

    我今天在 .Net Core 3.1 WinForm 应用程序中引用 .Net Standard 2.1 类库时收到完全相同的 Dapper 错误消息。我的解决方法是在解决方案资源管理器中双击类库名称打开.csproj文件,然后在PropertyGroup标签中添加一个CopyLocalLockFileAssemblies标签并将其设置为true。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-02
      • 2021-12-12
      • 2012-01-14
      相关资源
      最近更新 更多