2009-06-02 101 views
52

它是一種預建的GUI腳手架嗎?
爲什麼我會希望它而不是一個WinForms的用戶界面,這是快速設置?
它給了我什麼,我將不得不花時間寫作?
我是否像Visual Studio 2008中那樣獲得浮動窗口和對接? 使用它有錢嗎?
部署是什麼樣子 - 我的應用程序是獨立的EXE,還是作爲在shell中運行的某種一次性包或存檔發佈的?
Eclipse RCP有很好的可比性,如果可以的話,它們是如何比較的?什麼是Visual Studio外殼(獨立外殼)的好處?

回答

40

Visual Studio Shell使開發人員能夠通過在簡化的Visual Studio IDE上構建而快速創建和分發自己的自定義工具。

Visual Studio隔離的基於shell的應用程序可以完全訪問Visual Studio服務並支持customization和品牌。有幾種方法,你可以自定義一個基於shell的應用程序,具體如下:

  • 您可以使用加載項和的VSPackage延長一個孤立的基於shell的應用程序,就像你用它來擴展Visual Studio的本身。
  • 要使Visual Studio功能和菜單命令組可用或不可用,請更新應用程序的用戶界面(UI)項目中的.vsct文件。
  • 要從應用程序中刪除選項頁面或其他Visual Studio外殼組件,請更新應用程序的.pkgundef文件。
  • 要修改shell的外觀或行爲的其他方面,請更新應用程序的.pkgdef文件。
  • 當應用程序啓動時,還可以指定shell的某些方面。爲此,請將調用中的參數更新爲appenvstub.dll的Start入口點。

Visual Studio Shell作爲Visual Studio SDK的一部分免費提供。 Visual Studio Shell免版稅,用於構建和部署應用程序。

您的獨立shell應用程序可以安裝在任何具有Visual Studio 2008 Shell (isolated mode) Redistributable Package的計算機上。

要部署的每個獨立的基於Shell的應用程序都必須具有有效的Shell加載密鑰(SLK)。 SLK與應用程序唯一相關,不能用於加載任何其他應用程序。您可以在Visual Studio Extensibility Developer Center網站上獲得SLK。

獲得shell加載密鑰(SLK)後,必須將其添加到Shell項目中。按照this procedure向通過使用Visual Studio Shell隔離模板創建的項目添加SLK。

注意:到目前爲止所說的一切都已從各種Microsoft文檔頁面複製並粘貼。開始的好地方可能是Walkthrough: A Basic Isolated Shell Application

+2

嗯,所以它似乎主要不是作爲通用UI腳手架,而是作爲擴展Visual Studio的基礎。 [我讀了VS SDK許可證;它似乎允許專門使用SDK來構建對Visual Studio的擴展或增強功能。]而且它的功能似乎非常豐富,其中許多功能可能在典型的應用程序中不需要。 – Cheeso 2009-06-02 18:32:22

+0

@Cheeso你是對的!對於最終用戶的定製工具,在每臺用戶PC上安裝VS shell都沒有任何意義。即使對於開發人員來說,如果我想使用SQL Server Management Studio,也不得不安裝另一個工具或redist包。 – 2013-08-07 15:21:39

2

似乎如果您使用獨立外殼,您可以以可插入Visual Studio的方式構建產品。然後,您可以將產品作爲獨立的VS shell分發),或作爲Visual Studio的附加組件。 (只是猜測)

3

我用集成的shell在家試用IronPython,而不必安裝完整的VisualStudio試用版。如果你習慣了它,這是一個不錯的IDE。

看起來集成外殼與隔離外殼之間存在很大差異。

集成shell是一個沒有安裝任何編程語言的IDE。如果您沒有VisualStudio但想要使用Visual Studio的免費插件(如Python工具),那麼您可以使用集成shell。

在Powerlord的答案中很好地描述了隔離shell,它似乎是用於編程軟件開發人員,因爲它允許對用戶界面進行品牌和修改。

43

我想提一提的是SQL Server Management Studio中2012既需要這些條目中添加/刪除程序:

  1. 微軟的Visual Studio 2010外殼(隔離) - ENU
  2. Visual Studio 2010個的先決條件 - 英文

我知道這是因爲我卸載了它們,破壞了SSMS,並且不得不從安裝介質中修復,然後這兩個項目重新出現。