visual-studio - 如何手动卸载 Visual Studio 2013 扩展?

标签 visual-studio visual-studio-2013 visual-studio-extensions

我刚刚为我的 Visual Studio 2013 应用程序安装了一个扩展。我决定不想要那个扩展,所以我去工具->扩展和更新并向下滚动到我想要安装的扩展。

问题是,当我单击卸载按钮时,它不会执行任何操作(并且“禁用”按钮甚至不处于事件状态)。

VS Extensions and Updates Dialog

然后我尝试以管理员身份运行 Visual Studio,但这也不起作用。

我在网上搜索了建议,我找到了一个页面,上面写着使用 Visual Studio 安装目录中的 VSIXInstaller.exe 实用程序。要卸载和扩展,您必须使用以下命令行运行它:

VSIXInstaller /q /a /u:{VSIXIdentifier}

我的问题是,我如何获得标识符?和扩展版本一样吗?

另外,假设使用 VSIXInstaller 不起作用。有没有办法手动卸载扩展?

附言当我发布此 Stack Overflow 时,它告诉我可能有 a duplicate question .我阅读了另一个问题,但并不完全相同。该答案给出的解决方案是以我已经尝试过的管理员身份运行 VS。

最佳答案

My question is, how do I get the identifier? Is it the same as the extension version?



扩展通常打包在 VSIX 文件中,这些文件只是 zip 存档。在 zip 存档中是一个 list 文件,它提供了扩展标识符。

这是 SQLite VSIX 文件的 View ,其中突出显示了 list 文件 (extension.vsixmanifest):

vsix archive view

如果打开 list 文件,您将看到如下内容:

<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011">
  <Metadata>
    <Identity Id="SQLite.WinRT" Version="3.8.5" Language="en-US" Publisher="SQLite Development Team" />
    <DisplayName>SQLite for Windows Runtime</DisplayName>
    ...

要回答您的问题,标识符是 Id上面第三行中的字段。在这种情况下 SQLite.WinRT .

在我的机器上,我运行了以下命令并能够卸载 SQLite 扩展:
vsixinstaller /q /a /u:SQLite.WinRT

Also, let's say hypothetically that using VSIXInstaller does not work. Is there a way to manually uninstall an extension?



我认为这是一个相当广泛的问题。我不是 VSIX 扩展方面的专家,但似乎每个人都有自己的怪癖。简单地删除一个目录,如 this answer 中所建议的, 可以在 90% 的时间内工作;但是,可能存在无法通过这种方式卸载的扩展。 PHP 扩展属于后一种情况。

我认为您要问的问题是:

如何卸载 Visual Studio 2013 扩展的 PHP 工具?

答案似乎在您的屏幕截图中。如果您查看屏幕截图的右下角,您将看到以下文字:

You need to use the Programs and Features pane in the Windows Control Panel to remove this extension.



果然,如果我看一下程序和功能,我会看到:

programs-and-features shows PHP Tools for VS 2013

关于visual-studio - 如何手动卸载 Visual Studio 2013 扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25234634/

相关文章:

c# - 在发布后的代码中找不到 XAML 元素名称

c# - 在扩展中编写 Visual Studio 设置不会停留

c++ - 什么时候允许编译器优化 auto+brace 样式初始化?

c++ - 使用 nmake 编译 Qt 给出命令行错误 D8021 : invalid numeric argument ‘/FS’

c# - 获取 TF30063 : You are not authorized to access https://{url}. Visualstudio.com/

visual-studio - SVN Visual Studio 存储库的工作目录结构

c# - 无法使用 VS Debugger Interop 执行语句

c# - 在多台机器上开发时无法运行 VSPackage

c# - 如何设置.csproj 的根目录?

.net - 从 Firebird 数据库中获取 ASCII 字符串