昨晚发生了更新,现在我发现自己无法执行ctrl +'。VS 2015中的代码建议。出现错误消息,内容如下:
无法加载文件或程序集'Microsoft.CodeAnalysis,版本= 1.3.1.0,区域性=中性,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一。该系统找不到指定的文件。
我仍然可以构建和开发,但是如果没有此功能,这将非常烦人。我承认,我越来越软了!
有人建议修复此错误吗?
昨晚发生了更新,现在我发现自己无法执行ctrl +'。VS 2015中的代码建议。出现错误消息,内容如下:
无法加载文件或程序集'Microsoft.CodeAnalysis,版本= 1.3.1.0,区域性=中性,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一。该系统找不到指定的文件。
我仍然可以构建和开发,但是如果没有此功能,这将非常烦人。我承认,我越来越软了!
有人建议修复此错误吗?
Tools-> Nuget Package Manager -> Package Manager Console
,然后是Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
。
Answers:
我在使用Visual Studio 2015 Update 2时遇到了相同的问题,以全局解决所有解决方案的问题,请更新到Visual Studio 2015 Update 3。这里是一个链接:从这里下载
正如@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,您将解决此问题。
为了解决所有解决方案的此问题,我需要将程序集Microsoft.CodeAnalysis.dll直接安装到GAC –全局程序集缓存。
我得到的文件Microsoft.CodeAnalysis.dll从C:/用户/ [用户] /的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
gacutil
,VS Developer Command Prompt中都有。您可以使用它在GAC中安装上述组件。它没有为我解决问题。
我也面临着同样的问题。我的visual studio 2015版本是2.0。我将其升级到版本3。
问题解决了!!!
我也遇到了同样的问题,请尝试安装Microsoft.CodeAnalysis.CSharp nuget软件包。如果未解决,请检查项目中Microsoft.Net.Compilers的版本,我的版本为1.0.0,这引起了问题,因此将Microsoft.Net.Compilers nuget更新为v1.3.2。
在这里找到解决方案:Github讨论
我在NuGet程序包中找到了丢失的程序集(解决了第一个程序集之后,其他用户却很多了):https ://www.nuget.org/packages/Microsoft.Net.Compilers/1.3.1-rc
从开发者控制台使用GacUtil安装了它们。
就我而言,出现此错误的原因是我的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并重新启动了解决方案。
警告不见了!