簡體   English   中英

找不到Visual Studio 2017元數據文件EntityFramework.dll

[英]Visual Studio 2017 Metadata file EntityFramework.dll could not be found

我正在開發一個利用EntityFramework的C#程序,我已經從git repo克隆了程序,但是現在它Metadata file 'EntityFramework.dll' could not be found那個可怕的Metadata file 'EntityFramework.dll' could not be found錯誤。 我已經搜索並嘗試過無數針對這類問題的建議,但都沒有成功。 我已經檢查過.csproj文件中對EntityFramework.dll的引用是正確的,它肯定存在於packages\\EntityFramework.6.2.0\\lib\\net45\\文件夾下。 所以我不確定還有什么可以嘗試的。

請看看bin文件夾,有時那里不存在dll。

在Visual Studio中,單擊“構建” - >“配置管理器”。 確保選中項目旁邊的構建復選框。 如果它已經是,取消選中它然后再次檢查。 在此之后清潔您的解決方案並再次構建它。

這通常發生在團隊簽入不應簽入的文件(例如.suo文件)或“優化”其構建以排除很少更改的項目時。 (在配置管理器中解開項目。)

缺少引用的另一個常見原因是devs從/ bin文件夾而不是packages文件夾引用依賴項,但聽起來您已經確認不是這種情況。

無法找到其他問題,例如元數據文件'.dll'列出了許多要檢查的內容,因此您的問題肯定會是其中之一。 嘗試單獨構建每個項目,從沒有項目依賴性的項目到主應用程序項目。 確保它們運行相同的.Net版本,檢查解決方案NuGet包的依賴性與“多個版本”並合並這些以使解決方案使用每個依賴項的單個版本。 (通常適用於清理)另請查看.config文件以獲取版本重定向,有時會在源代碼管理中進行僵化。

好的,我已經解決了這個問題。 這是發生了什么。 顯然,當克隆到本地目錄時,路徑上的一個文件夾名稱中有一個空格(如My DSS ),這個nuget問題似乎表明nuget無法在路徑中找到包含空格的包。 因此,一旦我將該文件夾的名稱更改為MyDSS ,它就會成功編譯。

暫無
暫無

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

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