26

我一直在开发一个 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,但我得到了同样的错误)。我在网上找不到任何关于此的内容,老实说,我对为什么需要安装该项目才能构建它感到困惑。

我该怎么做才能让这个项目再次建设?

4

5 回答 5

44

经过一番玩耍后,我能够找到解决问题的方法:

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

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

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

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

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

于 2015-10-01T09:09:09.860 回答
18

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

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

于 2016-04-26T19:14:57.660 回答
0

对此类项目使用 Rebuild 或 Clean 命令可能会导致此错误。

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

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

于 2017-06-18T19:08:05.280 回答
0

这对我有用:

禁用我之前安装的实验实例中的“漫游扩展管理器”扩展。

我最近在本地创建了许多正在进行的扩展版本,其中一些已从本地文件系统中删除(因为我在 git land 中有副本),并且可能我混淆了漫游扩展管理器和/或 Visual Studio 通过这样做。

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

于 2016-07-31T06:52:12.653 回答
0

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

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

于 2017-04-28T07:32:39.350 回答