2

尝试调试 VS 扩展项目时,如何解决“GetDeploymentPathFromVsixManifest”任务意外失败?

同样的问题已经被多次询问,原因不同,都是针对 VS2017,通常是为了从 VS2015 升级 VS 扩展,应该已经用 VS 2019 解决了。然而,它刚刚弹出。

The "GetDeploymentPathFromVsixManifest" task failed unexpectedly.
System.TypeLoadException: Method 'get_JoinableTaskFactory' in type 'Microsoft.VisualStudio.Sdk.BuildTasks.ExtensionEngineHost' from assembly 'Microsoft.VisualStudio.Sdk.BuildTasks.16.0, Version=16.9.2017.12405, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' does not have an implementation.
   at Microsoft.VisualStudio.Sdk.BuildTasks.ExtensionManagerUtilities.GetExtensionEngine(ISettingsManager manager, Boolean deletePendingUninstalls)
   at Microsoft.VisualStudio.Sdk.BuildTasks.GetDeploymentPathFromVsixManifest.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()  

对于在 SO 上发现的相同错误,我已经尝试了所有解决方案,但到目前为止无济于事。我正在使用 VS 2019 Community 16.9.2,更新了所有软件包,降级了一些尝试,没有什么能真正改变这个错误。

这是我在 VSIX 上的第一次尝试,我刚刚从 github 下载了一个现有项目并对其进行了编译。github 项目正在运行(可能),因为该扩展在市场上可用。

还有其他建议吗?结合 JoinableTaskFactory 搜索此错误不会返回很多结果。

4

2 回答 2

3

对我来说,解决方案是至少执行以下步骤之一:

  1. 删除obj项目中的-文件夹
  2. 执行Reset the Visual Studio 2019 Experimental Instance。当您在 windows 搜索栏中搜索时,您可以找到此工具。
  3. 清理并重建项目

有时,如果我只做了一个步骤,它会有所帮助,有时它只有在完成所有步骤后才会起作用。

我无法找出背后是否存在特定模式,但执行上述所有步骤总是为我解决了错误。

我遇到相同错误的另一个问题是,如果在Project Properties -> Debug -> Start external Program. 对于 VS2019,我需要选择C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\devenv.exe 如果我在 Visual Studio 版本之间切换,则有时会选择不同的 Visual Studio 版本。

于 2021-09-08T11:49:44.660 回答
0

在解决方案属性-> VSIX 中取消选中:“将 VSIX 内容部署到实验实例以进行调试”

在此处输入图像描述

于 2021-07-31T06:29:50.800 回答