本發明專利技術公開了一種Visual?Studio擴展包的隔離方法,其具體實現過程為:定義沙箱環境;安裝VSPackages擴展程序;啟動副本實例。本發明專利技術的一種Visual?Studio擴展包的隔離方法與現有技術相比,適用于使用VSPackages方式擴展Visual?Studio集成開發環境時,在同一版本的Visual?Studio集成開發環境下,VSPackages及VSPackages的多個版本之間隔離且并行運行,且VSPackages擴展不影響Visual?Studio集成開發環境的正常環境,實用性強,易于推廣。
【技術實現步驟摘要】
本專利技術涉及VisualStudio開發
,具體地說是一種VisualStudio擴展包的隔離方法。
技術介紹
VisualStudio集成開發環境是微軟提供的一個豐富的集成開發環境,可以創建面向Windows、Android和iOS的應用程序及Web應用程序和云服務,是C#、ASP.NET等應用開發的首選集成開發環境。
VisualStudio集成開發環境提供了標準的用戶操作組件,比如編譯器,編輯器,調試器等。如果想把自定義的組件集成到VisualStudio集成開發環境中,即對VisualStudio集成開發環境做擴展,可以使用VisualStudioSDK創建VSPackage來實現這種擴展(VSPackages中文名為擴展包),比如一個命令,一個菜單,一個新的項目系統,一個新的編程語言,一個新的編輯器等。VSPackages是組成和擴展VisualStudio集成開發環境的軟件模塊。VSPackages是VisualStudio集成開發環境的重要結構單位,VisualStudio集成開發環境絕大部分功能也是作為一個VSPackages的集合來編寫的。
VSPackages的擴展及安裝,在同一版本的VisualStudio集成開發環境下只允許安裝一個版本,且直接安裝到了VisualStudio集成開發環境的正常環境下,VSPackages的功能很可能會破壞VisualStudio集成開發環境的正常環境,對VisualStudio集成開發環境有安全隱患。
在實際的VSPackages擴展開發中,我們希望同一個VSPackages能在同一VisualStudio集成開發環境下能多個版本并行運行,而相互不影響。比如我們為后綴名.do的文件擴展了編輯器,但.do的文件內容前后兩個版本變化挺大,而我們一臺機器上需要對這兩個版本的.do文件進行維護,怎么解決一臺機器能在同一VisualStudio集成開發環境下編輯這兩個版本的文件呢。
一種做法是:啟動VisualStudio,加載VSPackage,這時只存在最新版本,且最新版本兼容之前所有版本內容。針對這兩個版本的變化,編輯器擴展中做兼容處理來同時支持這兩個版本的編輯,但是這種兼容內容處理對于變化多的場景就太繁瑣了;
一種做法是:編輯某個版本的文件,就把編輯器擴展其他版本卸載掉,安裝對應版本的編輯器擴展,這種操作太繁瑣,且如果想同時對這兩個版本的文件做編輯不太現實。
基于此,現提供一種VisualStudio擴展包的隔離方法。
技術實現思路
本專利技術的技術任務是針對以上不足之處,提供一種VisualStudio擴展包的隔離方法。
一種VisualStudio擴展包的隔離方法,包括以下步驟:
定義沙箱環境;
安裝VSPackages擴展程序;
啟動副本實例。
所述的沙箱環境,包括副本實例、副本實例運行VSPackages的路徑、副本實例啟動的快捷方式、VSPackages擴展程序,該沙箱環境有自己唯一的編號及名稱,稱為沙箱編號及沙箱名。
上述沙箱環境中各部分的具體內容為:
副本實例,是基于VisualStudio的一個獨立的運行實例,是和VisualStudio集成開發環境的正常環境運行實例完全隔離的,但包含VisualStudio集成開發環境的所有功能;
副本實例運行VSPackages的路徑,是副本實例定義時指定的副本實例運行VSPackages的一個目錄;
副本實例啟動的快捷方式,是為副本實例的啟動創建的一個快捷方式;
VSPackages擴展程序,是VisualStudio擴展包的內容,包括dll及擴展包運行所需要的圖片、配置文件。
所述沙箱環境的定義過程為:
為要創建的沙箱定義沙箱編號及沙箱名;
使用VisualStudio命令與沙箱編號,創建副本實例;
配置副本實例運行VSPackages的路徑;
創建沙箱啟動的快捷方式。
VSPackages擴展程序的安裝過程為:
復制VSPackages程序到沙箱運行VSPackages的路徑。
寫VSPackages程序的注冊項到注冊表。
復制VSPackages擴展程序,使用自開發的安裝程序安裝VSPackages安裝包到沙箱環境,該自開發的安裝程序是隔離方法提供的安裝程序。
所述VSPackages安裝包,包括Packages目錄、Registy目錄,其中:
Packages目錄,包括開發的VisualStudio擴展包的源代碼編譯后的dll、圖片、配置文件;
Registry目錄,包括開發的VisualStudio擴展包編譯后生成的.pkgdef文件。
上述安裝VSPackages擴展程序的詳細過程為:
復制Packages目錄下內容到副本實例運行VSPackages的路徑;
寫Registry目錄中的.pkgdef文件內容到注冊表。
本專利技術的一種VisualStudio擴展包的隔離方法和現有技術相比,具有以下有益效果:
本專利技術適用于使用VSPackages方式擴展VisualStudio集成開發環境時,在同一版本的VisualStudio集成開發環境下,VSPackages及VSPackages的多個版本之間隔離且并行運行,且VSPackages擴展不影響VisualStudio集成開發環境的正常環境,實用性強,易于推廣。
具體實施方式
下面結合具體實施例對本專利技術作進一步說明。
本專利技術的一種VisualStudio擴展包的隔離方法,包括以下步驟:
一、定義沙箱環境;
二、安裝VSPackages擴展程序;
三、啟動副本實例。
所述的沙箱環境,包括副本實例、副本實例運行VSPackages的路徑、副本實例啟動的快捷方式、VSPackages擴展程序,該沙箱環境有自己唯一的編號及名稱,稱為沙箱編號及沙箱名。
上述沙箱環境中各部分的具體內容為:
副本實例,是基于VisualStudio的一個獨立的運行實例,是和VisualStudio集成開發環境的正常環境運行實例完全隔離的,但包含VisualStudio集成開發環境的所有功能;
副本實例運行VSPackages的路徑,是副本實例定義時指定的副本實例運行VSPackages的一個目錄;
副本實例啟動的快捷方式,是為副本實例的啟動創建的一個快捷方式;
VSPackages擴展程序,是VisualStudio擴展包的內容,包括dll及擴展包運行所需要的圖片、配置文件。
所述沙箱環境的定義過程為:
為要創建的沙箱定義沙箱編號及沙箱名;
使用VisualStudio命令+/rootsuffix+沙箱編號,創建副本實例;
配置副本實例運行VSPackages的路徑;
創建沙箱啟動的快捷方式。
VSPackages擴展程序的安裝過程為:
復制VSPackages程序到沙箱運行VSPackages的路徑。
寫VSPackages程序的注冊項到注冊表。
復制VSPackages擴展程序,使用自開發的安裝程序安裝VSPackages安裝包到沙箱環境,該自開發的安裝程序是隔離方法提供的安裝程序。
所述VSPackages安裝包,包本文檔來自技高網...
【技術保護點】
一種Visual?Studio擴展包的隔離方法,其特征在于,其實現過程為:定義沙箱環境;安裝VSPackages擴展程序;啟動副本實例。
【技術特征摘要】
1.一種VisualStudio擴展包的隔離方法,其特征在于,其實現過程為:
定義沙箱環境;
安裝VSPackages擴展程序;
啟動副本實例。
2.根據權利要求1所述的一種VisualStudio擴展包的隔離方法,其特征在于,所述的沙箱環境,包括副本實例、副本實例運行VSPackages的路徑、副本實例啟動的快捷方式、VSPackages擴展程序,該沙箱環境有自己唯一的編號及名稱,稱為沙箱編號及沙箱名。
3.根據權利要求2所述的一種VisualStudio擴展包的隔離方法,其特征在于,上述沙箱環境中各部分的具體內容為:
副本實例,是基于VisualStudio的一個獨立的運行實例,是和VisualStudio集成開發環境的正常環境運行實例完全隔離的,但包含VisualStudio集成開發環境的所有功能;
副本實例運行VSPackages的路徑,是副本實例定義時指定的副本實例運行VSPackages的一個目錄;
副本實例啟動的快捷方式,是為副本實例的啟動創建的一個快捷方式;
VSPackages擴展程序,是VisualStudio擴展包的內容,包括dll及擴展包運行所需要的圖片、配置文件。
4.根據權利要求1-3任一所述的一種VisualStudio擴展包的隔離方法,其特征在于,所述沙箱環境的定義過程為:
為要創建的沙箱定...
【專利技術屬性】
技術研發人員:任麗霞,
申請(專利權)人:浪潮通用軟件有限公司,
類型:發明
國別省市:山東;37
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。