找不到扩展。请确保已安装扩展程序

Extension could not be found. Please make sure the extension has been installed

我一直在开发一个 VS 扩展,它使用 SideWaffle 创建了一些带有一些样板代码的文件,但我遇到了一个问题,每当我添加一个新项目时,我的样板代码项目都会在 "My Custom Templates"。我在模板-builder.props 文件中找到了它并将其更新为 "Test",但是当我再次尝试时我同时拥有 "My Custom Templates" 和 "Test",它们都包含相同的扩展名.

我认为 VS 可能缓存了旧名称或其他内容,所以我从 VS 中卸载了扩展并重新启动。现在项目根本不会构建并给出错误:

Extension 'ProjName..00000000-0000-0000-0000-000000000000' could not be found.
Please make sure the extension has been installed.

我尝试使用 Debug 文件夹中的 .vsix 重新安装扩展并重新启动 VS,但我得到了同样的错误)。我在网上找不到任何相关信息,老实说,我很困惑为什么需要安装项目本身才能构建。

我该怎么做才能重新构建这个项目?

经过一番尝试,我找到了解决问题的办法:

当您成功构建项目时,我可以看到一个扩展被添加到 Visual Studio 的实验实例中(我没有找到其他安装扩展的方法(VS2013))。如果您尝试在实验实例上未安装扩展的情况下构建项目,构建将失败。

当然,这意味着您永远无法构建项目,因为您需要构建它才能安装扩展,而需要安装扩展才能构建项目。只有在项目的第一次构建时才不是这样。您可以在不安装扩展的情况下构建,然后将在实验实例上安装扩展并允许项目的未来构建。

如果您像我一样在实验实例上卸载扩展,您将陷入构建失败的 catch-22 情况,因为未安装扩展,您无法安装扩展名,因为构建失败。

这个问题的解决方案很简单。我只需要 运行 项目,此时构建会失败,然后选择 运行 上次成功构建的项目。这将打开未安装扩展的实验实例,但是,如果关闭实验实例,则可以成功构建项目,这将再次安装扩展。

我不知道为什么这样可以解决问题,但我很想知道是否有人有任何想法。

这个很棒的 post 展示了所有可能的解决方案: http://comealive.io/Vsix-extension-could-not-be-found/

这个对我有用: 增加.vsixmanifest文件中包的版本

这对我有用:

禁用我之前安装的实验实例中的“Roaming Extension Manager”扩展。

我最近在本地创建了一个扩展的许多正在进行的版本,其中一些我已经从我的本地文件系统中删除了(因为我在 git 土地上复制了出来),这是可能的我通过这样做混淆了漫游扩展管理器 and/or Visual Studio。

为了更好的衡量,我打开了实验实例,并卸载了我在本地创建且不再需要的所有个人扩展。

对我来说,在开发 VSIX 应用程序期间出现问题。当项目处于 Release 模式时,我错误地尝试调试它。这时就出现了上面的错误。

解决方法:将模式从Release改为Debug[=10] =]

此错误可能是由于对此类项目使用重建或清理命令造成的。

要恢复,请使用此处其他答案中最适合您的方法——这可能与启动项目 运行 一样简单。在实验实例的冗长初始化完成之前,可以立即停止生成的调试会话,因为所需的 Visual Studio 状态现已恢复并且项目现已成功构建。

此后,尽量避免对此类项目使用 Rebuild 或 Clean,以防止不必要的问题再次发生。