windows Visual Studio shell(独立 shell)有什么用?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/939841/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-09 06:26:52  来源:igfitidea点击:

What is the Visual Studio shell (standalone shell) good for?

windowsvisual-studioeclipseshell

提问by Cheeso

Is it some sort of pre-built GUI scaffolding?
Why would I Want it instead of a WinForms UI, which is quick to set up?
What does it give me that I would have to spend time writing?
Do I get floating windows and docking, like in Visual Studio 2008? Is there a money-cost to using it?
What does the deployment look like - is my app a standalone EXE, or is it shipped as some sort of one-off package or archive that runs within the shell?
Is Eclipse RCP a good comparable, and if so, how do they compare?

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

采纳答案by Powerlord

Visual Studio Shell enables developers to rapidly create and distribute their own custom tools by building on a streamlined Visual Studio IDE.

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

A Visual Studio isolated shell-based application has full access to Visual Studio services and supports customizationand branding. There are several ways you can customize a shell-based application, as follows:

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

  • You can use add-ins and VSPackages to extend an isolated shell-based application just as you would use them to extend Visual Studio itself.
  • To make Visual Studio features and menu command groups available or unavailable, update the .vsct file in the user interface (UI) project of the application.
  • To remove Options pages or other Visual Studio shell components from the application, update the .pkgundef file of the application.
  • To modify other aspects of the appearance or behavior of the shell, update the .pkgdef file of the application.
  • Some aspects of the shell can also be specified when the application is started. To do this, update the parameters in the call to the Start entry point of the appenvstub.dll.
  • 可以使用加载项和 VSPackages 来扩展基于外壳的隔离应用程序,就像使用它们扩展 Visual Studio 本身一样。
  • 若要使 Visual Studio 功能和菜单命令组可用或不可用,请更新应用程序的用户界面 (UI) 项目中的 .vsct 文件。
  • 要从应用程序中删除选项页面或其他 Visual Studio shell 组件,请更新应用程序的 .pkgundef 文件。
  • 要修改外壳外观或行为的其他方面,请更新应用程序的 .pkgdef 文件。
  • 也可以在应用程序启动时指定 shell 的某些方面。为此,请更新对 appenvstub.dll 的 Start 入口点的调用中的参数。

The Visual Studio Shell is freely available as part of the Visual Studio SDK. Visual Studio Shell is royalty-free for building and deploying applications.

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

Your isolated shell application can be installed on any computer that has the Visual Studio 2008 Shell (isolated mode) Redistributable Package.

您的独立 Shell 应用程序可以安装在任何具有Visual Studio 2008 Shell(独立模式)可再发行组件包的计算机上

Each isolated Shell-based application to be deployed must have a valid shell load key (SLK). The SLK is uniquely related to the application and cannot be used to load any other application. You can obtain SLKs on the Visual Studio Extensibility Developer CenterWeb site.

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

After you obtain a shell load key (SLK), you must add it to your Shell project. Follow this procedureto add an SLK to a project that was created by using the Visual Studio Shell Isolated template.

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

Note: Everything said up to this point has been copied and pasted from various Microsoft documentation pages. A good place to start might be Walkthrough: A Basic Isolated Shell Application.

注意:到目前为止所说的所有内容都是从各种 Microsoft 文档页面复制和粘贴的。一个很好的起点可能是演练:一个基本的独立 Shell 应用程序

回答by Casey Plummer

I would like to mention that SQL Server Management Studio 2012 requires both of these entries in Add/Remove programs:

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

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

I know this because I uninstalled them, broke SSMS, and had to repair from the installation media, upon which those 2 items reappeared.

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

回答by PhilMacKay

I used the integrated shell to try IronPython at home, without having to install the full VisualStudio trial version. It's a nice IDE if you're used to it.

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

It seems there is a big difference between the integrated shell and the isolated one.

集成外壳和隔离外壳之间似乎有很大的区别。

The integrated shell is an IDE without any programming language installed. If you don't have VisualStudio but want to use a free plugin such as Python Tools for Visual Studio, then you can use the integrated shell.

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

The isolated shell is well described in Powerlord's answer, it seems to be made for programming software developpers, since it allows branding and modifications of the user interface.

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

回答by JMarsch

Seems like if you use the stand-alone shell, you could build your product in a way such that it could plug in to Visual Studio. Then, you could distribute your product as a stand-alone with the VS shell), or as an add in to Visual Studio. (just a guess)

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

回答by Jeff Gibson

I realized I'm late to the party on this, but back in the day when Sybase released versions 12 and 12.5 of PowerBuilder, they included a .NET version of each product. It was PowerBuilder running in the Visual Studio Isolated Shell. Honestly if you ask me, they did an outstanding job on it. The only drawback was that it was initially focused on generating WPF targets, assemblies, etc. But you couldn't do WinForm development (within PowerBuilder .NET). You had to deploy that through the PowerBuilder Classic interface.

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

Recently I've been getting into some Python and I remembered that one of the groups had also developed a Python deployment using the isolated shell. But I can't seem to find anything additional on it.

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

Granted, I realize that Python can be written in Visual Studio now, but just was trying to dig into the history. I noticed last night when I was digging that the isolated shell is available all the way through 2015.

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

Does anybody know if it has been discontinued?

有谁知道停产了吗?