簡體   English   中英

Visual Studio 2019 錯誤 - 無法加載文件或程序集或其依賴項之一

[英]Visual Studio 2019 Error - Could not load file or assembly or one of its dependencies

我在運行我的項目時遇到了一些問題。 當我嘗試運行時,出現以下錯誤:

FileNotFoundException:無法加載文件或程序集“Dapper,Version=2.0.0.0,Culture=neutral,PublicKeyToken=null”或其依賴項之一。 該系統找不到指定的文件

語境:

我有一個 Class 庫 X 和一個 Web 應用程序 Y,它們依賴於 X。當我嘗試運行我的 API 項目時,它會拋出上述錯誤。 但是,當我的同事嘗試運行同一個 API 項目時,它工作正常(沒有錯誤,並且在 /bin 文件夾中,它加載了所有 .dll 庫..)

我做了那些方法:

  • 重新啟動 Visual Studio,清理並構建解決方案
  • 刪除 class 庫引用並重新添加
  • 工具 > 導入和導出設置向導 > 重置所有設置(可能某些設置配置不當)。 我也嘗試導入同事設置,但也沒有用。

我嘗試了各種方法(即使在不同的機器上,但 VS 設置相同)但這些方法都不適合我。

Visual Studio 2019 16.4 企業版。

我也會嘗試:

1) 在重建之前刪除解決方案中的 bin 和 obj 文件夾。

2) 檢查您在解決方案中是否沒有同一包的多個版本(右鍵單擊解決方案資源管理器中的解決方案 -> 管理解決方案的 nuget 包)。

3) 檢查參考的屬性(在有問題的參考的解決方案資源管理器中右鍵單擊)顯示您期望相對於解決方案的包的路徑(例如不在 mydocuments/nuget 包或其他東西中!)。

4) 嘗試一個新的 repo 克隆(這實際上應該復制你同事的設置),然后看看問題是否仍然存在。

我想另一個原因可能是你的同事有一個本地安裝的包/dll,他們很樂意在沒有意識到的情況下引用,但你沒有?

當您從某人或其他系統復制項目時,您需要下載並安裝所有組件。 通常 VS 會在您加載從 git 新導入的文件時為您提供“恢復包”的選項,但不確定當您從不同系統打開現有解決方案時是否會這樣做。

右鍵單擊您的項目,管理 Nuget 包
瀏覽 -> 搜索 Dapper。 安裝

在您收到的錯誤中,它還告訴您應該安裝哪個版本的軟件包。 安裝明顯不同的版本可能會導致其他意外錯誤。

感謝您的解決方案,但我發現了問題:

項目解決方案有一些項目使用 .net standard 2.0,一些項目使用 .net framework 4.8。 不知何故,當我運行該應用程序時,某些包未正確加載並引發錯誤。

下面那一行解決了我的問題:

<RestoreProjectStyle>PackageReference</RestoreProjectStyle>

將它放在所有 .net framework 4.8 項目中的第一個 XML 標記上。

謝謝你的一切。

問候。

今天在 .Net Core 3.1 WinForm 應用程序中引用 .Net Standard 2.1 class 庫時,我收到了完全相同的 Dapper 錯誤消息。 我的解決方案是在Solution Explorer中雙擊class庫名打開.csproj文件,然后在PropertyGroup標簽中添加CopyLocalLockFileAssemblies標簽並設置為true。

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM