" GetDeploymentPathFromVsixManifest"任务意外失败

时间:2017-03-23 19:40:43

标签: visual-studio vsix

安装visual studio 2017后获取VSIX projects的错误...有任何解决问题的建议吗?enter image description here

Severity    Code    Description Project File    Line    Suppression State
Error       The "GetDeploymentPathFromVsixManifest" task failed unexpectedly.
System.Runtime.InteropServices.COMException (0x80070005): ExternalSettingsManager::GetScopePaths failed to initialize PkgDefManager for C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe
   at Microsoft.VisualStudio.Settings.ExternalSettingsManager.GetScopePaths(String applicationPath, String suffixOrName, String vsVersion, Boolean isLogged, Boolean isForIsolatedApplication)
   at Microsoft.VisualStudio.Settings.ExternalSettingsManager.CreateForApplication(String applicationPath)
   at Microsoft.VsSDK.Build.Tasks.ExtensionManagerUtilities.GetSettingsManagerForDevenv(String rootSuffix)
   at Microsoft.VsSDK.Build.Tasks.GetDeploymentPathFromVsixManifest.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() MasterData  

6 个答案:

答案 0 :(得分:6)

希望其他人可以获得更好的解决方法。但是现在这就是我的工作:

  1. 取消选中项目属性的VSIX选项卡中的“将VSIX内容部署到实验”。 (这将允许您构建项目)
  2. 关注this migration guide。就我而言,我所要做的就是将我的环境添加到支持的列表中。如果您准备发布,其余部分似乎更相关。
  3. 从目标输出目录手动安装生成的扩展。如果不起作用,请删除输出目录的内容并重建。
  4. 这将让您继续处理扩展,但遗憾的是您将无法获得任何调试支持。每次要测试时都必须卸载/安装。

答案 1 :(得分:5)

此错误随机出现在我身上,而不对代码进行任何更改。删除以下文件夹后它消失了:

C:\用户\\应用程序数据\本地\微软\的VisualStudio \ 15.0_765fd02aExp C:\用户\\应用程序数据\漫游\微软\ VisualStudio的\ 15.0_765fd02aExp

之后我能够毫无错误地再次构建。

要查找我建议使用某些文件搜索应用程序的文件夹并使用字符串&#34; 15.0 _ Exp *&#34;。

答案 2 :(得分:2)

升级到 VS2019 16.9 后我也遇到了这个错误。我通过手动重置 VS 实验实例使其工作。

  1. 将以下 %localappdata%\Microsoft\VisualStudio\ 复制到“开始”菜单的搜索区域并按 Enter。当文件夹打开时,您将看到一个以 Exp 结尾的文件夹。您需要在最后一个命令中使用该名称。
  2. 打开 Powershell 的管理实例或 Visual Studio 开发人员命令提示符。
  3. 键入 cd "C:\Program Files (x86)\Microsoft Visual Studio\2019\{VSEdition}\VSSDK\VisualStudioIntegration\Tools\Bin",其中 {VSEdition} 应替换为 CommunityProfessionalEnterprisePreview,具体取决于所安装的在您的机器上。
  4. 使用 CreateExpInstance /Reset /VSInstance=16.0 /RootSuffix={ExperimentalFolderName} 重置实验实例,其中 {ExperimentalFolderName} 替换为我们在步骤 1 中获得的文件夹名称(不是完整路径,只是名称)。

希望有帮助!

答案 3 :(得分:1)

我注意到我的构建错误与XML序列化问题有关。这让我觉得它与清单中的一些混乱的XML有关,所以......

  • 修复 使用文本编辑器打开source.extension.vsixmanifest文件。确保没有XML错误。使用Schema Reference确保一切都在它的位置。

  • 问题 我的文件嵌套在<Tag /> XML元素中的<Description /> XML元素是不合法的。看完

  • 后,我将<Tag />元素移到了外面

答案 4 :(得分:1)

我收到此错误是因为我在Visual Studio的两个不同实例中打开了解决方案:(

答案 5 :(得分:0)

我尝试将VSIX软件包从VS 2015升级到VS 2017时遇到了相同的构建错误。通过创建一个新的空VSIX项目模板并通过Visual Studio Package模板添加新类,我能够重现同样的问题。

默认情况下,VSIX项目没有任何引用,但是,在添加Package类时,Visual Studio 2017将自动添加对所有必需Nuget包的引用。

通过将Microsoft.VSSDK.BuildTools的Nuget软件包从15.1.192版降级到15.0.26201版本,我无需取消选中“将VSIX内容部署到实验实例以进行调试”选项即可解决此问题。

我使用的是Visual Studio 2017企业版15.3.0。