一种Visual Studio扩展包的隔离方法技术

技术编号:13348418 阅读:45 留言:0更新日期:2016-07-15 01:57
本发明专利技术公开了一种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

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1