Cap*_*ica 69 c# visual-studio-2015
昨晚发生了更新,现在我发现自己无法进行ctrl +'.' 对于VS 2015中的代码建议.出现错误消息,说明以下内容:
无法加载文件或程序集"Microsoft.CodeAnalysis,version = 1.3.1.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35"或其依赖项之一.该系统找不到指定的文件.
我仍然可以构建和开发,但如果没有此功能,这将非常烦人.我承认,我变软了!
有人建议修复这个bug吗?
Vil*_* H. 56
正如@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
Run Code Online (Sandbox Code Playgroud)
Dhr*_*har 25
如果任何选项不起作用,这里是处理此场景的详细指南....
首先,版本很重要.注意错误中提到的版本......
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.
Run Code Online (Sandbox Code Playgroud)
如果您看到上述错误,则表示无法找到版本1.3.1.现在请创建新的VS项目.没有偏好,它可以只是简单的控制台应用程序.现在,一旦项目模板准备就绪,请转到包管理器并使用指定的版本运行以下命令...
Install-Package Microsoft.CodeAnalysis -Version 1.3.1
Run Code Online (Sandbox Code Playgroud)
这将安装所有包.让它完成.一旦完成.我们根本不需要这个新创建的项目.您可以完全删除它.认真!你可以删除它.我们这样做是因为我们希望在全球nuget级别安装该软件包.当您安装某些东西时,nuget也会将其存储在您的机器的全局级别.路径将是这样的......
C:\Users\<<Your Windows User>>\.nuget\packages
Run Code Online (Sandbox Code Playgroud)
您可以通过以下方式了解您的路径......
%USERPROFILE%\.nuget\packages
Run Code Online (Sandbox Code Playgroud)
现在,您将在以下文件夹中看到所需的Microsoft.CodeAnalysis.dll ...
C:\Users\<<Your Windows User>>\.nuget\packages\Microsoft.CodeAnalysis.Common\1.3.1\lib\net45
Run Code Online (Sandbox Code Playgroud)
请注意,上面的路径包含版本号(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
Run Code Online (Sandbox Code Playgroud)
现在以管理员身份运行命令提示符,并将当前目录导航到包含GacUtil的路径.运行以下命令在GAC中安装该DLL.
gacutil
-i C:\Users\<<You Windows User>>\.nuget\packages\Microsoft.CodeAnalysis.Common\1.3.1\lib\net45\Mi
crosoft.CodeAnalysis.dll
Run Code Online (Sandbox Code Playgroud)
基本上提供我们全球安装的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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
52057 次 |
| 最近记录: |