【问题标题】:What is the Visual Studio shell (standalone shell) good for?Visual Studio shell(独立 shell)有什么用?
【发布时间】:2010-10-30 16:53:17
【问题描述】:

它是某种预先构建的 GUI 脚手架吗?
为什么我想要它而不是快速设置的 WinForms UI?
它给了我什么让我不得不花时间写作?
我是否像在 Visual Studio 2008 中那样获得浮动窗口和停靠? 使用它需要花钱吗?
部署是什么样的 - 我的应用程序是独立的 EXE,还是作为在 shell 中运行的某种一次性包或存档提供?
Eclipse RCP 是否具有很好的可比性,如果是,它们如何比较?

【问题讨论】:

    标签: windows visual-studio eclipse shell


    【解决方案1】:

    我想提一下,SQL Server Management Studio 2012 在添加/删除程序中需要这两个条目:

    1. Microsoft Visual Studio 2010 Shell(隔离)-ENU
    2. Visual Studio 2010 先决条件 - 英语

    我知道这一点是因为我卸载了它们,破坏了 SSMS,并且不得不从安装媒体进行修复,这两个项目再次出现。

    【讨论】:

    • 这可以解释为什么删除所有 VS 2015 组件会导致 ssms 2016 崩溃。 (Microsoft Visual Studio 2015 Shell(隔离))
    • @Multinerd 这应该只发生在 2016 年 5 月版本及更高版本中,当时 SSMS 已更新为使用 Visual Studio 2015 隔离外壳。
    • @TylerH 我的帖子是 2017 年 3 月 8 日,所以我不确定我有哪个版本。我现在使用 SSMS 2017,它也依赖于 VS 2015 IS。希望它在发布时使用 2017 年。
    • @Multinerd D'oh... 日期很难 X_X
    • 依赖关系如下:如果安装了 SQL Server 2016 Management Studio 或更高版本,则为 Microsoft Visual Studio 2015 Shell。 Microsoft Visual Studio 2010 Shell(如果安装了 SQL Server 2012/2014 Management Studio)。 Microsoft Visual Studio 2008 Shell(如果安装了 SQL Server 2008 Management Studio)。
    【解决方案2】:

    Visual Studio Shell 使开发人员能够通过在精简的 Visual Studio IDE 上构建来快速创建和分发他们自己的自定义工具。

    Visual Studio 隔离的基于 shell 的应用程序可以完全访问 Visual Studio 服务并支持customization 和品牌。您可以通过多种方式自定义基于 shell 的应用程序,如下所示:

    • 您可以使用加载项和 VSPackage 来扩展基于 shell 的隔离应用程序,就像使用它们来扩展 Visual Studio 本身一样。
    • 要使 Visual Studio 功能和菜单命令组可用或不可用,请更新应用程序用户界面 (UI) 项目中的 .vsct 文件。
    • 要从应用程序中删除选项页面或其他 Visual Studio shell 组件,请更新应用程序的 .pkgundef 文件。
    • 要修改 shell 外观或行为的其他方面,请更新应用程序的 .pkgdef 文件。
    • shell 的某些方面也可以在应用程序启动时指定。为此,请将调用中的参数更新为 appenvstub.dll 的 Start 入口点。

    Visual Studio Shell 作为Visual Studio SDK 的一部分免费提供。 Visual Studio Shell 对于构建和部署应用程序是免版税的。

    您的独立外壳应用程序可以安装在任何具有Visual Studio 2008 Shell (isolated mode) Redistributable Package 的计算机上。

    要部署的每个隔离的基于 Shell 的应用程序都必须具有有效的 Shell 加载密钥 (SLK)。 SLK 与应用程序唯一相关,不能用于加载任何其他应用程序。您可以在Visual Studio Extensibility Developer Center 网站上获取 SLK。

    在获得外壳加载密钥 (SLK) 后,您必须将其添加到外壳项目中。按照this procedure 将 SLK 添加到使用 Visual Studio Shell 隔离模板创建的项目中。

    注意:到目前为止所说的所有内容都是从各种 Microsoft 文档页面复制和粘贴的。一个好的起点可能是Walkthrough: A Basic Isolated Shell Application

    【讨论】:

    • 嗯,所以它似乎主要不是作为通用 UI 脚手架,而是作为扩展 Visual Studio 的基础。 [我阅读了 VS SDK 许可证;它似乎允许专门使用 SDK 来构建 Visual Studio 的扩展或增强。] 而且它的功能似乎非常丰富,其中许多功能在典型的应用程序中可能不需要。
    • @Cheeso 你说的很对!对于最终用户自定义工具,必须在每台用户 PC 上安装 VS shell 没有任何意义。即使对于开发人员来说,如果我想使用 SQL Server Management Studio,必须安装另一个工具或 redist 包也很麻烦。
    • @OnlyYou “如果我想使用 SQL Server Management Studio,必须安装另一个工具或 redist 包很麻烦” - SQL Server Management Studio 现在是 “建立在 Visual Studio 隔离外壳”。在此处阅读更多信息Features in SQL Server Management Studio
    【解决方案3】:

    我在家中使用集成 shell 试用 IronPython,而无需安装完整的 VisualStudio 试用版。如果您习惯了,它是一个不错的 IDE。

    看来集成壳和隔离壳还是有很大区别的。

    集成外壳是一个没有安装任何编程语言的 IDE。如果您没有 VisualStudio,但想使用 Python Tools for Visual Studio 等免费插件,则可以使用集成 shell。

    Powerlord 的回答中很好地描述了隔离外壳,它似乎是为编程软件开发人员制作的,因为它允许品牌化和用户界面的修改。

    【讨论】:

      【解决方案4】:

      似乎如果您使用独立外壳,您可以构建您的产品,使其可以插入到 Visual Studio。然后,您可以将您的产品作为独立的 VS shell 分发),或作为 Visual Studio 的插件分发。 (只是猜测)

      【讨论】:

        【解决方案5】:

        我意识到我迟到了,但在 Sybase 发布 PowerBuilder 12 和 12.5 版的那一天,它们包含了每个产品的 .NET 版本。它是在 Visual Studio 隔离外壳中运行的 PowerBuilder。老实说,如果你问我,他们在这方面做得非常出色。唯一的缺点是它最初专注于生成 WPF 目标、程序集等。但是您不能进行 WinForm 开发(在 PowerBuilder .NET 中)。您必须通过 PowerBuilder Classic 界面进行部署。

        最近我开始接触一些 Python,我记得其中一个小组还使用隔离 shell 开发了 Python 部署。但我似乎找不到任何额外的东西。

        当然,我意识到 Python 现在可以在 Visual Studio 中编写,但只是试图挖掘历史。昨晚我在挖掘时注意到,隔离的外壳一直可用到 2015 年。

        有人知道它是否已经停产了吗?

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-08-03
          • 1970-01-01
          • 1970-01-01
          • 2021-03-28
          • 1970-01-01
          • 2013-06-15
          • 2012-11-05
          • 1970-01-01
          相关资源
          最近更新 更多