簡體   English   中英

無法加載文件或程序集“Microsoft.CodeAnalysis,版本= 1.3.1.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依賴項之一

[英]Could not load file or assembly 'Microsoft.CodeAnalysis, version= 1.3.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependenc

昨晚發生了更新,現在我發現自己無法按 ctrl + '.' VS 2015 中的代碼建議。出現一條錯誤消息,內容如下:

無法加載文件或程序集“Microsoft.CodeAnalysis,版本= 1.3.1.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依賴項之一。 該系統找不到指定的文件。

我仍然可以構建和開發,但是如果沒有此功能,這將非常煩人。 我承認,我變軟了!

任何人都有修復此錯誤的建議?

正如@CaptainAmerica 所指出的,解決方案是從 NuGet 更新 CodeDom 程序集。 應該指出如何在 Visual Studio 中執行此操作。 我在這里找到了解決方案:

https://www.nuget.org/packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/

基本上,在 Visual Studio 菜單中選擇:

Tools-> Nuget Package Manager -> Package Manager Console

在 Visual Studio 底部顯示的控制台中,運行以下命令:

Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform

如果任何選項不起作用,這里是處理這種情況的詳細指南....

首先版本很重要。 請注意錯誤中提到的版本...

Could not load file or assembly 'Microsoft.CodeAnalysis, version= 1.3.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

如果您看到上述錯誤,則表示它無法找到 1.3.1 版。 現在請創建新的 VS 項目。 沒有偏好,它可以只是簡單的控制台應用程序。 現在,一旦項目模板准備就緒,請轉到包管理器並使用您指定的版本運行以下命令...

Install-Package Microsoft.CodeAnalysis -Version 1.3.1

這將安裝所有軟件包。 讓它完成。 一旦完成。 我們根本不需要這個新創建的項目。 您可以完全刪除它。 嚴重地! 你可以刪除它。 我們這樣做是因為我們希望在全局 nuget 級別安裝該軟件包。 當你安裝某些東西時,nuget 也會將它存儲在你機器的全局級別。 路徑將是這樣的......

C:\Users\<<Your Windows User>>\.nuget\packages

您可以通過以下方式了解您的路徑...

%USERPROFILE%\.nuget\packages

現在您將在以下文件夾中看到所需的Microsoft.CodeAnalysis.dll ...

C:\Users\<<Your Windows User>>\.nuget\packages\Microsoft.CodeAnalysis.Common\1.3.1\lib\net45

請注意,上面的路徑包含版本號 (1.3.1)。 如果您的版本不同,請查看該版本文件夾。

既然您已經有了 dll,您需要做的就是將該 dll 添加到 GAC。 為此,您將需要GacUtil.exe

此文件已與 Visual Studio 一起安裝。 您可以在 C 盤中搜索“GacUtil”。 對我來說,它就在下面的路徑上......

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools

現在以管理員身份運行命令提示符並將當前目錄導航到包含 GacUtil 的路徑。 運行以下命令以在 GAC 中安裝該 dll。

gacutil
 -i C:\Users\<<You Windows User>>\.nuget\packages\Microsoft.CodeAnalysis.Common\1.3.1\lib\net45\Mi
crosoft.CodeAnalysis.dll

基本上提供我們全局安裝的dll的路徑。 它將顯示成功安裝的消息。

就這樣! 現在再次啟動您的 Visual Studio,您將解決此問題。

我在 Visual Studio 2015 Update 2 上遇到了同樣的問題,為了解決所有解決方案的全局問題,更新到Visual Studio 2015 Update 3 這是一個鏈接: 從這里下載

我找到了這個頁面,在頁面底部的“與 ASP.NET 的兼容性”下,它說 ASP.NET 使用 nuget 包 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 來更新 Microsoft.CodeAnalysis 程序集。 所以我將 DotNetCompilerPlatform 包從 1.0.0 更新到 1.0.3,它又可以工作了! 是啊,生活又好了!

為了解決所有解決方案的這個問題,我需要將程序集Microsoft.CodeAnalysis.dll直接安裝到GAC – Global Assemblies Cache

我從C中的文件Microsoft.CodeAnalysis.dll:/用戶/ [用戶] /的NuGet /包/ Microsoft.CodeAnalysis.Common / 1.3.2 / LIB /便攜式net45 + win8的/ Microsoft.CodeAnalysis.dll。

要將程序集安裝到 GAC,我使用了https://github.com/LTruijens/powershell-gac 中的 PowerShell 腳本。

最后,我設法使用 PowerShell 中的以下命令將程序集安裝到 GAC:

Add-GacAssembly [myPath]\Microsoft.CodeAnalysis.dll

我也面臨同樣的問題。 我的 Visual Studio 2015 版本是 2.0。 我將其升級到版本 3。

問題解決了!!!

我已經解決了這個問題:

將 Visual Studio 2015更新更新 3

從菜單中選擇View => Notifications => Visual Studio Update 3並單擊更新按鈕。

今天 ! 我遇到了同樣的問題,我通過重新啟動 Visual Studio 2015 來解決它:)

我也面臨同樣的問題,嘗試安裝Microsoft.CodeAnalysis.CSharp nuget 包。 如果未解決,請檢查您項目中Microsoft.Net.Compilers 的版本,我的版本為 1.0.0,這導致了問題,因此將Microsoft.Net.Compilers nuget 更新到 v1.3.2。

在這里找到解決方案: Github 討論

我通過將所有 Nuget Microsoft 依賴項更新到 v2.0.0 解決了這個問題。 這是使用 VS 2017。我使用的是預覽版。

就我而言,錯誤發生在關閉 Live Unit Testing 並手動運行測試之后。某些測試會失敗並顯示上述錯誤消息。

進入測試 --> 實時單元測試 --> 選項並發出“刪除持久數據”解決了問題。

我通過刪除位於解決方案中的 .vs 文件夾解決了類似的問題。

我在 NuGet 包中找到了缺失的程序集(在第一個被解決后,有多個其他程序集):https ://www.nuget.org/packages/Microsoft.Net.Compilers/1.3.1-rc

從 Dev 控制台使用 GacUtil 安裝它們。

不幸的是,上面帶有“nuget install/gacutil”的廣泛解決方案無法工作,因為依賴項 dll 的確切版本不可用。

以下解決了我在我們復雜的 webform 應用程序中的問題是在 Visual Studio -> 工具 -> Nuget -> 控制台包管理器中的解決方案中執行

Update-Package -reinstall 

就我而言,我收到此錯誤是因為我的 Visual Studio 解決方案在其中一個項目的預構建步驟中嘗試使用TextTransform.exe ,但我的本地計算機在指定的路徑中沒有TextTransform.exe我的預構建步驟和我的第一次修復嘗試只是將TextTransform.exe從其他位置復制到 Visual Studio 預期的位置。 這似乎導致了此問題,因為TextTransform.exe具有其他靜默依賴項。

我的解決方法是更改​​預構建步驟,而不是在以下位置查找文件

C:\Program Files (x86)\Common Files\microsoft shared\TextTemplating\14.0\TextTransform.exe

相反,它會查看 Visual Studio 安裝文件夾,其中包含一堆其他文件,大概其中一個是TextTransform.exe的對等依賴項

C:\Program Files\Visual Studio\Common7\IDE\TextTransform.exe

這似乎為我解決了問題。

我遇到了同樣的問題,我使用的是 VS2017 並安裝了 Microsoft.EntityFrameworkCore.SqlServer 3.1.8,而在我的 VS2017 中,.Net 核心版本是 2.1 所以我將我的 Microsoft.EntityFrameworkCore.SqlServer 降級到 2.1.1 並重新啟動解決方案。

警告消失了!!

根據https://docs.microsoft.com/en-us/aspnet/core/migration/31-to-50?view=aspnetcore-5.0&tabs=visual-將項目升級到 .Net 5 后,我在 VS2019 中遇到了類似的錯誤工作室

錯誤 CS0006:找不到元數據文件“C:\\Users\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\1.1.0\\analyzers\\dotnet\\cs\\Microsoft.CodeAnalysis.Analyzers.dll”。

'C:\\Users\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\1.1.0\\analyzers\\dotnet\\cs\\Microsoft.CodeAnalysis.CSharp.Analyzers.dll' 無法找到錯誤 CS0006:元數據文件

修復是關閉並重新打開 VS 2019

我在嘗試從 github 構建某人的代碼時遇到了這個問題。 我在 VS 2019 中打開它,但我也有 VS 2022。在 VS 2022 中打開和構建剛剛工作。

暫無
暫無

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

相關問題 &#39;無法加載文件或程序集&#39;Microsoft.ServiceBus,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35&#39;或其依賴項之一 無法加載文件或程序集“Microsoft.Owin,版本=3.0.1.0,文化=中性,PublicKeyToken=31bf3856ad364e35” 無法加載文件或程序集“Microsoft.Owin,版本=2.1.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35 無法加載文件或程序集 'Microsoft.Owin, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 或其依賴項之一 無法加載文件或程序集&#39;Microsoft.Data.OData,Version = 5.6.4.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35&#39;或其依賴項之一 無法加載文件或程序集“WebGrease,版本=1.5.1.25624,文化=中性,PublicKeyToken=31bf3856ad364e35”或其依賴項之一 無法加載文件或程序集&#39;System.Web.Razor,版本= 2.0.0.0,區域性=中性,PublicKeyToken = 31bf3856ad364e35&#39;或其依賴項之一 無法加載文件或程序集“Microsoft.Web.Infrastructure,版本=1.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35” 無法加載文件或程序集“Microsoft.Practices.EnterpriseLibrary.Common,Version=6.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或 無法加載文件或程序集“System.Web.Razor,版本=2.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM