项目集合的处理方法及装置制造方法

文档序号:6638636阅读:143来源:国知局
项目集合的处理方法及装置制造方法
【专利摘要】本发明公开了一种项目集合的处理方法及装置。该方法包括:获取多个源文件夹中的项目集合,其中,项目集合引用项目;将多个源文件夹中的项目集合存储至预设文件夹;根据多个源文件夹中的项目集合在预设文件夹中存储的位置调整项目集合所引用项目的引用位置;对项目集合所引用的项目的组件库执行卸载操作;在对项目集合所引用的项目的组件库执行卸载操作之后,在存储调整后的项目集合的预设文件夹中重新加载项目集合所引用的项目的组件库。通过本发明,解决了现有技术中多个项目集合引用同一个项目时,容易出错的问题。
【专利说明】项目集合的处理方法及装置

【技术领域】
[0001] 本发明涉及数据处理领域,具体而言,涉及一种项目集合的处理方法及装置。

【背景技术】
[0002] 在使用软件开发工具进行应用程序时,例如,使用VisualStudio开发基于.NET Framework的应用时,组件库能把在项目中添加、移除和更新引用的工作变得更加快捷方 便。组件库是一个.NET平台下的开源的项目,它是VisualStudio的扩展。VisualStudio 使用项目集合和项目两级结构来管理代码,一个项目集合可以引用多个项目,一个项目可 以被多个项目集合引用。
[0003] 当不同的项目集合分别存储在不同目录下,编辑一个项目集合,给该项目集合中 的一个项目引用添加一个组件库时,这个组件库包含的文件会被自动下载到该项目集合文 件所在文件夹下的预设的子文件夹中,并且项目文件中会记录引用了这个预设子文件夹中 的文件。当另外一个项目集合也引用上述项目后,这个组件库包含的文件会被自动下载到 该方案文件所在文件夹下的预设子文件夹中,由于两个项目集合文件不是存储在同一个文 件夹中,并且上一个项目集合中的预设子文件夹的数据被清除,会导致当前项目集合永远 无法通过编译,因为当前项目集合需要引用的文件存储在上一个项目集合中的预设子文件 夹的数据已经并不存在了。
[0004] 针对现有技术中多个项目集合引用同一个项目时,容易出错的问题,目前尚未提 出有效的解决方案。


【发明内容】

[0005] 本发明的主要目的在于提供一种项目集合的处理方法及装置,以解决多个项目集 合引用同一个项目时,容易出错的问题。
[0006] 为了实现上述目的,根据本发明的一个方面,提供了一种项目集合的处理方法。
[0007] 根据本发明的项目集合的处理方法包括:获取多个源文件夹中的项目集合,其中, 项目集合引用项目;将多个源文件夹中的项目集合存储至预设文件夹;根据多个源文件夹 中的项目集合在预设文件夹中存储的位置调整项目集合所引用项目的引用位置;对项目集 合所引用的项目的组件库执行卸载操作;在对项目集合所引用的项目的组件库执行卸载操 作之后,在存储调整后的项目集合的预设文件夹中重新加载项目集合所引用的项目的组件 库。
[0008] 进一步地,调整项目集合引用项目的引用位置包括:获取项目集合引用项目的引 用位置的原始路径;对项目集合引用项目的引用位置的原始路径执行删除操作;对项目集 合引用项目的引用位置的路径执行删除操作之后,重新确定项目集合引用项目的引用位 置。
[0009] 进一步地,在引用的项目中加载组件库之后,项目集合的处理方法还包括:接收创 建指令;根据创建指令创建新的项目集合;将新的项目集合存储至预设文件夹下。
[0010] 进一步地,将多个源文件夹中的项目集合存储至预设文件夹包括:获取所有项目 集合;对所有项目集合执行剪切操作;将剪切的所有项目集合粘贴至预设文件夹下。
[0011] 进一步地,在重新加载项目集合所引用的项目的组件库之后,项目集合的处理方 法还包括:获取重新加载项目集合所引用的项目的组件库的文件;确定预设文件夹下的预 设子文件夹的位置;将重新加载项目集合所引用的项目的组件库的文件存储至预设子文件 夹中。
[0012] 为了实现上述目的,根据本发明的另一方面,提供了一种项目集合的处理装置。根 据本发明的项目集合的处理装置包括:获取单元,用于获取多个源文件夹中的项目集合,其 中,项目集合引用项目;存储单元,用于将多个源文件夹中的项目集合存储至预设文件夹; 调整单元,用于根据多个源文件夹中的项目集合在预设文件夹中存储的位置调整项目集合 所引用项目的引用位置;卸载单元,用于对项目集合所引用的项目的组件库执行卸载操作; 以及加载单元,用于在对项目集合所引用的项目的组件库执行卸载操作之后,在存储调整 后的项目集合的预设文件夹中重新加载项目集合所引用的项目的组件库。
[0013] 进一步地,调整单元包括:第一获取模块,用于获取项目集合引用项目的引用位置 的原始路径;删除模块,用于对项目集合引用项目的引用位置的原始路径执行删除操作; 以及第一确定模块,用于对项目集合引用项目的引用位置的路径执行删除操作之后,重新 确定项目集合引用项目的引用位置。
[0014] 进一步地,项目集合的处理置还包括:接收模块,用于接收创建指令;创建模块, 用于根据创建指令创建新的项目集合;存储模块,用于将新的项目集合存储至预设文件夹 下。
[0015] 进一步地,存储单元包括:第二获取模块,用于获取所有项目集合;剪切模块,用 于对所有项目集合执行剪切操作;粘贴模块,用于将剪切的所有项目集合粘贴至预设文件 夹下。
[0016] 进一步地,项目集合的处理装置还包括:第三获取模块,用于获取重新加载项目集 合所引用的项目的组件库的文件;第二确定模块,用于确定预设文件夹下的预设子文件夹 的位置;加载模块,用于将重新加载项目集合所引用的项目的组件库的文件存储至预设子 文件夹中。
[0017] 对于上述的项目集合的处理方法,由于通过获取多个源文件夹中的项目集合;将 多个源文件夹中的项目集合存储至预设文件夹;根据多个源文件夹中的项目集合在预设文 件夹中存储的位置调整项目集合所引用项目的引用位置;对项目集合所引用的项目的组件 库执行卸载操作;在对项目集合所引用的项目的组件库执行卸载操作之后,在存储调整后 的项目集合的预设文件夹中重新加载项目集合所引用的项目的组件库。通过本发明,解决 了现有技术中多个项目集合引用同一个项目时,容易出错的问题。从而有效避免了多个项 目集合引用同一个项目时容易导致代码无法编译通过的问题。

【专利附图】

【附图说明】
[0018] 构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实 施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0019] 图1是根据本发明实施例的项目集合的处理方法的流程图;以及
[0020] 图2是根据本发明实施例的项目集合的处理装置的示意图。

【具体实施方式】
[0021] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相 互组合。下面将参考附图并结合实施例来详细说明本发明。
[0022] 为了使本【技术领域】的人员更好地理解本申请方案,下面将结合本申请实施例中的 附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是 本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术 人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范 围。
[0023] 需要说明的是,本申请的说明书和权利要求书及上述附图中的术语"第一"、"第 二"等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使 用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语"包括"和 "具有"以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元 的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有 清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0024] 图1是根据本发明实施例的项目集合的处理方法的流程图。如图1所示,该方法 包括如下的步骤SlOl至步骤S105 :
[0025] 步骤S101,获取多个源文件夹中的项目集合。
[0026] 在使用软件开发工具进行应用程序时,例如,使用VisualStudio开发基于.NET Framework的应用时,VisualStudio使用项目集合和项目两级结构来管理代码,一个项目 集合可以引用多个项目,一个项目可以被多个解决方案引用。获取多个源文件夹中的项目 集合,该项目集合为多个项目集合。
[0027] 步骤S102,将多个源文件夹中的项目集合存储至预设文件夹。
[0028] 将上述获取的获取多个源文件夹中的项目集合存储至预设文件夹中。
[0029] 具体地,获取外部输入的剪切指令,根据该剪切指令,对获取的所有项目集合执行 剪切操作;获取外部输入的粘贴指令,按照该粘贴指令,将剪切的所有项目集合粘贴至预设 文件夹下。通过该步骤,将多个源文件夹中的项目集合存储至预设文件夹。
[0030] 步骤S103,根据多个源文件夹中的项目集合在预设文件夹中存储的位置调整项目 集合所引用项目的引用位置。
[0031] 根据多个源文件夹中的项目集合在预设文件夹中存储的位置调整项目集合所引 用项目的引用位置。由于将多个源文件夹中的项目集合存储至预设文件夹,因此项目集合 所引用项目的引用位置已经发生了改变。因此,需要调整项目集合所引用项目的引用位置。
[0032] 具体地,获取项目集合引用项目的引用位置的原始路径;对项目集合引用项目的 引用位置的原始路径执行删除操作;在对项目集合引用项目的引用位置的路径执行删除操 作之后,重新确定项目集合引用项目的引用位置。
[0033] 步骤S104,对项目集合所引用的项目的组件库执行卸载操作。
[0034] 对项目集合所引用的项目的组件库执行卸载操作。项目集合所引用的项目,项目 引用的组件库,因此对项目集合所引用的项目,项目引用的组件库执行卸载操作。具体地, 获取外部输入的卸载指令,根据该卸载指令,对项目集合所引用的项目,项目引用的组件库 执行卸载操作。
[0035] 步骤S105,在对项目集合所引用的项目的组件库执行卸载操作之后,在存储调整 后的项目集合的预设文件夹中重新加载项目集合所引用的项目的组件库。
[0036] 在对项目集合所引用的项目的组件库执行卸载操作之后,在存储调整后的项目集 合的预设文件夹中重新加载项目集合所引用的项目的组件库。具体地,获取重新加载项目 集合所引用的项目的组件库的文件,确定预设文件夹下的预设子文件夹的位置;将重新加 载项目集合所引用的项目的组件库的文件存储至预设子文件夹中。
[0037] 在加载项目集合所引用的项目的组件库时,生成的组件库的DLL文件都会存放到 预设文件夹中的预设子文件夹中,例如,预设子文件夹为packages,即将生成的组件库的 DLL文件都会存放到预设文件夹中的目录packages下。
[0038] 优选地,为了使新创建的项目集合也存储在预设文件夹下,在本发明实施例提供 的项目集合的处理方法中,项目集合的处理还包括:接收创建指令;根据创建指令创建新 的项目集合;将新的项目集合存储至预设文件夹下。
[0039] 通过该方法,保证了在当新建一个项目集合时,将新的项目集合文件也放置到预 设文件夹下,这时新的项目集合引用已有的项目就不会出错,新建的项目也能被其它的项 目集合正常引用。
[0040] 下面对该方法整个流程过程进行举例说明:
[0041] 新建一个文件夹,命名为_SoIutions,这个文件夹用于存储所有的项目集合文件。 而所有的组件库文件存储在这个目录下的packages文件夹中。将所有的项目集合文件剪 切到_S〇luti〇ns文件夹中,分别打开这些移动了位置后的项目集合文件,调整项目集合文 件中引用项目的正确的引用位置。卸载所有项目集合中项目的组件库,重新加载所有项目 集合中项目的组件库,因为所有的项目集合文件都在_S〇luti〇ns文件夹中,因此重新安装 组件库后,所有的组件库文件都会被下载到_Solutions文件夹下的子文件夹packages中, 因此不管打开哪个项目集合,都能引用到正确的组件库文件。如果组件库文件被清理了,那 么任何一个项目集合也能将这些组件库文件下载到预设的文件夹下。
[0042] 将任何新建的项目集合也放置到_Solutions文件夹中,无论是新建的项目还是 引用原有的项目,由于所有的组件库存储在_S〇luti〇ns文件夹中,因此新的项目集合不会 因为引用项目出错而导致编译无法通过。
[0043] 下面对本发明的项目集合的处理方法整个具体过程进行举例说明:
[0044] 假设有如下项目集合、项目和项目引用的组件库(或称Nuget包,下面以Nuget包 进行描述)。
[0045] 处理之前的状态:项目集合SolutionA.sin引用了项目ProjectLcsproj, Project2.csproj;项目集合SolutionB.sin引用 了项目Project2.csproj,Project3. csproj〇
[0046]项目ProjectLcsproj引用了Nuget包:NA;项目Project2.csproj引用了Nuget 包:NB;项目Project3.csproj引用了Nuget包:NC;
[0047] 需要说明的是,项目集合不局限于.sin文件;项目不局限于.csproj文件
[0048] 假设上述各个文件存储在原始文件夹内,如表1所示:
[0049] 表I
[0050]

【权利要求】
1. 一种项目集合的处理方法,其特征在于,包括: 获取多个源文件夹中的项目集合,其中,所述项目集合引用项目; 将所述多个源文件夹中的项目集合存储至预设文件夹; 根据所述多个源文件夹中的项目集合在所述预设文件夹中存储的位置调整所述项目 集合所引用项目的引用位置; 对所述项目集合所引用的项目的组件库执行卸载操作;以及 在对所述项目集合所引用的项目的组件库执行卸载操作之后,在存储调整后的所述项 目集合的预设文件夹中重新加载所述项目集合所引用的项目的组件库。
2. 根据权利要求1所述的方法,其特征在于,调整所述项目集合引用项目的引用位置 包括: 获取所述项目集合引用项目的引用位置的原始路径; 对所述项目集合引用项目的引用位置的原始路径执行删除操作;以及 对所述项目集合引用项目的引用位置的路径执行删除操作之后,重新确定所述项目集 合引用项目的引用位置。
3. 根据权利要求1所述的方法,其特征在于,在所述引用的项目中加载组件库之后,所 述方法还包括: 接收创建指令; 根据所述创建指令创建新的项目集合;以及 将所述新的项目集合存储至所述预设文件夹下。
4. 根据权利要求1所述的方法,其特征在于,将所述多个源文件夹中的项目集合存储 至预设文件夹包括: 获取所有项目集合; 对所述所有项目集合执行剪切操作;以及 将剪切的所述所有项目集合粘贴至所述预设文件夹下。
5. 根据权利要求1所述的方法,其特征在于,在重新加载所述项目集合所引用的项目 的组件库之后,所述方法还包括: 获取重新加载所述项目集合所引用的项目的组件库的文件; 确定所述预设文件夹下的预设子文件夹的位置;以及 将重新加载所述项目集合所引用的项目的组件库的文件存储至所述预设子文件夹中。
6. -种项目集合的处理装置,其特征在于,包括: 获取单元,用于获取多个源文件夹中的项目集合,其中,所述项目集合引用项目; 存储单元,用于将所述多个源文件夹中的项目集合存储至预设文件夹; 调整单元,用于根据所述多个源文件夹中的项目集合在所述预设文件夹中存储的位置 调整所述项目集合所引用项目的引用位置; 卸载单元,用于对所述项目集合所引用的项目的组件库执行卸载操作;以及 加载单元,用于在对所述项目集合所引用的项目的组件库执行卸载操作之后,在存储 调整后的所述项目集合的预设文件夹中重新加载所述项目集合所引用的项目的组件库。
7. 根据权利要求6所述的装置,其特征在于,所述调整单元包括: 第一获取模块,用于获取所述项目集合引用项目的引用位置的原始路径; 删除模块,用于对所述项目集合引用项目的引用位置的原始路径执行删除操作;以及 第一确定模块,用于对所述项目集合引用项目的引用位置的路径执行删除操作之后, 重新确定所述项目集合引用项目的引用位置。
8. 根据权利要求6所述的装置,其特征在于,所述装置还包括: 接收模块,用于接收创建指令; 创建模块,用于根据所述创建指令创建新的项目集合;以及 存储模块,用于将所述新的项目集合存储至所述预设文件夹下。
9. 根据权利要求6所述的装置,其特征在于,所述存储单元包括: 第二获取模块,用于获取所有项目集合; 剪切模块,用于对所述所有项目集合执行剪切操作;以及 粘贴模块,用于将剪切的所述所有项目集合粘贴至所述预设文件夹下。
10. 根据权利要求6所述的装置,其特征在于,所述装置还包括: 第三获取模块,用于获取重新加载所述项目集合所引用的项目的组件库的文件; 第二确定模块,用于确定所述预设文件夹下的预设子文件夹的位置;以及 加载模块,用于将重新加载所述项目集合所引用的项目的组件库的文件存储至所述预 设子文件夹中。
【文档编号】G06F17/30GK104484394SQ201410771302
【公开日】2015年4月1日 申请日期:2014年12月12日 优先权日:2014年12月12日
【发明者】赖华贵 申请人:北京国双科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1