【问题标题】:Extension could not be found. Please make sure the extension has been installed找不到扩展程序。请确保已安装扩展程序
【发布时间】:2015-12-28 11:16:58
【问题描述】:

我一直在开发一个 VS 扩展程序,该扩展程序使用 SideWaffle 创建了一些带有一些锅炉代码的文件,我遇到了一个问题,每当我添加一个新项目时,我的锅炉代码项目将位于“我的自定义模板”下”。我在 template-builder.props 文件中找到了这个并将其更新为“测试”,但是当我再次尝试时,我同时拥有“我的自定义模板”和“测试”,它们都包含相同的扩展名。

我认为 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 visual-studio-extensions vsix sidewaffle


    【解决方案1】:

    玩了一会儿后,我找到了解决问题的方法:

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

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

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

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

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

    【讨论】:

    • 嗯。我和你的情况完全一样,除了关闭实验实例(确实重新安装了扩展)后我仍然无法构建。似乎我必须禁用“将 VSIX 内容部署到实验实例以进行调试”(由于其他选项,扩展仍然可以复制和调试)。
    • @oliver Nicholls 为什么你回滚编辑.. 更好!!
    • 编辑将我的部分答案放在块引用中,这不是引用。
    • 同样的情况,卡梅伦的伎俩帮我解决了。取消选中该选项(在项目属性-> VSIX 中)运行了一个调试,该调试在实验中构建并运行良好。然后关闭实验并再次像往常一样做所有事情。
    • 感谢您将此答案放在正确的目录中。我真的觉得整个 VSIX 开发都是错误的并且文档不足。对我来说,彻底重新开始是彻底解决问题的唯一方法。
    【解决方案2】:

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

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

    【讨论】:

    • 该页面现在消失了,仅 9 个月后!
    • 这应该是解决方案!
    【解决方案3】:

    这对我有用:

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

    我最近在本地创建了许多正在进行中的扩展版本,其中一些已从本地文件系统中删除(因为我在 git 领域有副本),我可能混淆了漫游扩展Manager 和/或 Visual Studio。

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

    【讨论】:

      【解决方案4】:

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

      解决方案:将模式从Release改为Debug

      【讨论】:

        【解决方案5】:

        对此类项目使用重建或清理命令可能会导致此错误。

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

        此后,尽量避免对此类项目使用Rebuild或Clean,以防止问题再次出现。

        【讨论】:

          猜你喜欢
          • 2013-08-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-03-23
          • 1970-01-01
          • 1970-01-01
          • 2020-07-24
          • 1970-01-01
          相关资源
          最近更新 更多