问题描述
在安装完成Vs2017后,在工具的插件和扩展中安装了qt的插件。安装完成启动后提示“未能正确加载VSIX包”,并且后面跟了一个报错的路径C:\Users\zhao\AppData\Roaming\Microsoft\VisualStudio\15.0_3bf6469c\ActivityLog.xml打开路径翻到最下面发现如下的提示信息:
<time>2019/05/08 07:02:36.952</time>
<type>Error</type>
<source>VisualStudio</source>
<description>SetSite failed for package [Vsix]Source: 'QtVsTools' Description: 未能加载文件或程序集“Microsoft.VisualStudio.Threading, Version=15.8.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。
System.IO.FileNotFoundException: 未能加载文件或程序集“Microsoft.VisualStudio.Threading, Version=15.8.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。
文件名:“Microsoft.VisualStudio.Threading, Version=15.8.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”
 在 QtVsTools.Vsix.InitializeAsync(CancellationToken cancellationToken, IProgress`1 progress)
 在 Microsoft.VisualStudio.Shell.AsyncPackage.<>c__DisplayClass16_0.<<Microsoft-VisualStudio-Shell-Interop-IAsyncLoadablePackageInitialize-Initialize>b__1>d.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
 在 Microsoft.VisualStudio.Services.VsTask.RethrowException(AggregateException e)
 在 Microsoft.VisualStudio.Services.VsTask.InternalGetResult(Boolean ignoreUIThreadCheck)
 在 Microsoft.VisualStudio.Services.VsTask.GetResult()

警告: 程序集绑定日志记录被关闭。
要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1。
注意: 会有一些与程序集绑定失败日志记录关联的性能损失。
要关闭此功能,请移除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。
</description>
<guid>{15021976-647E-4876-9040-2507AFDE45D2}</guid>
<hr>80070002</hr>
<errorinfo></errorinfo>
1.根据错误信息,发现是找不到Microsoft.VisualStudio.Threading.dll 文件
2.网上找不到适配版本的Microsoft.VisualStudio.Threading.dll文件。
解决方案
在百度上查找关键字发现类似的问题有两种解决方案:
-
在我的电脑里面找到ComponentModelCache这个文件夹,将其中的Microsoft.VisualStudio.Default.cache的文件删掉即可。
-
使用下载器更新VS.
使用了第一种方案重新打开发现还是有提示,后面更新了visual studio installer以后打开Vs2017,发现有提示信息的更新。如下图所示:
点击弹出 如下的对话框进行更新,更新vs2017后提示框消失。