CN110647326A - 基于NuGet程序包的软件复用方法、装置及系统 - Google Patents

基于NuGet程序包的软件复用方法、装置及系统 Download PDF

Info

Publication number
CN110647326A
CN110647326A CN201910890693.9A CN201910890693A CN110647326A CN 110647326 A CN110647326 A CN 110647326A CN 201910890693 A CN201910890693 A CN 201910890693A CN 110647326 A CN110647326 A CN 110647326A
Authority
CN
China
Prior art keywords
nuget
program
program package
item
package
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910890693.9A
Other languages
English (en)
Other versions
CN110647326B (zh
Inventor
李龙珍
张立强
刘兴
董宝璐
丁秀梅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bank of China Ltd
Original Assignee
Bank of China Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN201910890693.9A priority Critical patent/CN110647326B/zh
Publication of CN110647326A publication Critical patent/CN110647326A/zh
Application granted granted Critical
Publication of CN110647326B publication Critical patent/CN110647326B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种基于NuGet程序包的软件复用方法、装置及系统,其中,该方法包括:第一服务器将指定项目所需要管理的类库或程序生成相应的NuGet程序包,并发布到指定的NuGet程序包库上;第二服务器中项目对应的NuGet管理器发送程序下载指令至第一服务器;第一服务器根据程序下载指令找到相应的NuGet程序包和依赖项,将其下发至第二服务器中项目对应的NuGet管理器中;第二服务器中项目对应的NuGet管理器下载并管理相应的NuGet程序包和依赖项,将相应的NuGet程序包和依赖项添加到指定项目中。由于该方案将项目的类库和程序的版本管理与NuGet工具有效结合,实现了软件复用。

Description

基于NuGet程序包的软件复用方法、装置及系统
技术领域
本发明涉及软件复用技术领域,特别涉及一种基于NuGet程序包的软件复用方法、装置及系统。
背景技术
软件复用是使用现有软件组件实现或更新软件系统的过程。软件复用可大大节约成本和开发时间,同时,可产生可靠软件,便于实现软件标准化。但常见的软件复用方式,是直接将类库拷贝到新的项目中,当类库更新时,无法追踪使用到该类库的项目,导致该类库在不同项目中版本不一致,引发功能问题。如何管理项目中的软件,既能保证较高程度的复用,又具有很好的维护性,一直是一个难题。
发明内容
本发明实施例提供了一种基于NuGet程序包的软件复用方法、装置及系统,解决了现有技术中类库的版本不一致性的技术问题。
第一方面,本发明实施例提供了一种基于NuGet程序包的软件复用方法,该方法包括:
第一服务器将指定项目所需要管理的类库或程序生成相应的NuGet程序包,将所述NuGet程序包发布到指定的NuGet程序包库上,其中,所述NuGet程序包库为根据类库需要搭建的NuGet仓库,用来存储和管理所有NuGet程序包;
第二服务器中项目对应的NuGet管理器发送程序下载指令至第一服务器;
第一服务器根据程序下载指令从NuGet程序包库中找到相应的NuGet程序包和依赖项,将所述相应的NuGet程序包和依赖项下发至第二服务器中项目对应的NuGet管理器中;
第二服务器中项目对应的NuGet管理器下载并管理相应的NuGet程序包和依赖项,将相应的NuGet程序包和依赖项添加到指定项目中。
第二方面,本发明实施例还提供了一种基于NuGet程序包的软件复用方法,该方法包括:
将指定项目所需要管理的类库或程序生成相应的NuGet程序包;
将所述NuGet程序包发布到指定的NuGet程序包库上,其中,所述NuGet程序包库为根据类库需要搭建的NuGet仓库,用来存储和管理所有NuGet程序包;
接收第二服务器中项目对应的NuGet管理器发送的程序下载指令,根据程序下载指令从NuGet程序包库中找到相应的NuGet程序包和依赖项,将所述相应的NuGet程序包和依赖项下发至第二服务器中项目对应的NuGet管理器中。
第三方面,本发明实施例还提供了一种基于NuGet程序包的软件复用方法,该方法包括:
项目对应的NuGet管理器发送程序下载指令至第一服务器;
接收第一服务器根据程序下载指令从NuGet程序包库中找到的相应的NuGet程序包和依赖项;其中,所述NuGet程序包库为根据类库需要搭建的NuGet仓库,用来存储和管理基于指定项目所需要管理的类库或程序生成的相应NuGet程序包;
项目对应的NuGet管理器下载并管理相应的NuGet程序包和依赖项,将相应的NuGet程序包和依赖项添加到指定项目中。
第四方面,本发明实施例还提供了一种基于NuGet程序包的软件复用系统,该系统包括:
第一服务器和第二服务器;
第一服务器用于:
将指定项目所需要管理的类库或程序生成相应的NuGet程序包,将所述NuGet程序包发布到指定的NuGet程序包库上,其中,所述NuGet程序包库为根据类库需要搭建的NuGet仓库,用来存储和管理所有NuGet程序包;
第二服务器用于:
其中的项目对应的NuGet管理器发送程序下载指令至第一服务器;
第一服务器还用于:
根据程序下载指令从NuGet程序包库中找到相应的NuGet程序包和依赖项,将所述相应的NuGet程序包和依赖项下发至第二服务器中项目对应的NuGet管理器中;
第二服务器还用于:
其中的项目对应的NuGet管理器下载并管理相应的NuGet程序包和依赖项,将相应的NuGet程序包和依赖项添加到指定项目中。
第五方面,本发明实施例还提供了一种基于NuGet程序包的软件复用装置,该装置包括:
NuGet程序包生成模块,用于将指定项目所需要管理的类库或程序生成相应的NuGet程序包;
NuGet程序包发布模块,用于将所述NuGet程序包发布到指定的NuGet程序包库上,其中,所述NuGet程序包库为根据类库需要搭建的NuGet仓库,用来存储和管理所有NuGet程序包;
NuGet程序包查找下载模块,用于接收第二服务器中项目对应的NuGet管理器发送的程序下载指令,根据程序下载指令从NuGet程序包库中找到相应的NuGet程序包和依赖项,将所述相应的NuGet程序包和依赖项下发至第二服务器中项目对应的NuGet管理器中。
第六方面,本发明实施例还提供了一种基于NuGet程序包的软件复用装置,该装置包括:
程序下载指令发送模块,用于项目对应的NuGet管理器发送程序下载指令至第一服务器;
NuGet程序包下载模块,用于接收第一服务器根据程序下载指令从NuGet程序包库中找到的相应的NuGet程序包和依赖项;其中,所述NuGet程序包库为根据类库需要搭建的NuGet仓库,用来存储和管理基于指定项目所需要管理的类库或程序生成的相应NuGet程序包;
NuGet程序包添加模块,用于项目对应的NuGet管理器下载并管理相应的NuGet程序包和依赖项,将相应的NuGet程序包和依赖项添加到指定项目中。
第七方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述方法。
第八方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述所述方法的计算机程序。
在本发明实施例中,将指定项目所需要管理的类库或程序生成相应的NuGet程序包,并将指定项目所需要管理的类库或程序生成相应的NuGet程序包,项目对应的NuGet管理器从找到相应的NuGet程序包和依赖项并下载到第二服务器中项目对应的NuGet管理器中,第二服务器中项目对应的NuGet管理器下载并管理相应的NuGet程序包和依赖项,将相应的NuGet程序包和依赖项添加到指定项目中。与现有技术相比,本发明通过NuGet包创建、发布、获取等流程,对软件包的各个版本进行管理,并通过NuGet引用、更新、卸载等方式,将不同的类库集成到不同的项目中,实现软件的共享和复用,解决类库的版本一致性问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于NuGet程序包的软件复用方法流程图(系统方面一);
图2是本发明实施例提供的一种基于NuGet程序包的软件复用方法流程图(系统方面二);
图3是本发明实施例提供的一种基于NuGet程序包的软件复用方法流程图(第一服务器角度);
图4是本发明实施例提供的一种基于NuGet程序包的软件复用装置结构框图(第一服务器角度);
图5是本发明实施例提供的一种基于NuGet程序包的软件复用方法流程图(第二服务器角度);
图6是本发明实施例提供的一种基于NuGet程序包的软件复用装置结构框图(第二服务器角度)。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中,提供了一种基于NuGet程序包的软件复用系统,该系统包括第一服务器和第二服务器,该系统可以执行如图1所示的基于NuGet程序包的软件复用方法流程,该方法包括:
步骤101:第一服务器将指定项目所需要管理的类库或程序生成相应的NuGet程序包,将所述NuGet程序包发布到指定的NuGet程序包库上,其中,所述NuGet程序包库为根据类库需要搭建的NuGet仓库,用来存储和管理所有NuGet程序包;
步骤102:第二服务器中项目对应的NuGet管理器发送程序下载指令至第一服务器;
步骤103:第一服务器根据程序下载指令从NuGet程序包库中找到相应的NuGet程序包和依赖项,将所述相应的NuGet程序包和依赖项下发至第二服务器中项目对应的NuGet管理器中;
步骤104:第二服务器中项目对应的NuGet管理器下载并管理相应的NuGet程序包和依赖项,将相应的NuGet程序包和依赖项添加到指定项目中。
在本发明实施例中,NuGet为Microsoft支持的共享代码的机制。其定义如何创建、托管和使用面向.NET的程序包。NuGet程序包是具有nupkg扩展的单个ZIP文件。此扩展包含编译代码(Dll)、与该代码相关的其他文件以及描述性清单(包含包版本号等信息)。使用代码的开发人员共享创建包,并将其发布到公用或专用主机。包使用者从适合的主机获取这些包,将它们添加到项目,然后在其项目代码中调用包的功能。随后,NuGet自身负责处理所有中间详细信息。由于NuGet支持的专用主机,因此,可以使用NuGet包来共享组织或工作组专用的代码。而且,NuGet程序包作为一种便捷的方式,可将自己的代码用于除你自己项目之外的任何其他项目。简而言之,NuGet包是可共享的代码单元,但不需要指定任何特定的共享方式。
创建者生成有用的NuGet程序包并将其发布到主机。使用者可以在可访问的主机上搜索有用且兼容的包,下载包并将其包含在项目中,实现软件复用。
在本发明实施例中,步骤101中,具体创建程序包的过程为:创建一个类库项目,通过NuGet指令,从项目生成NuSpec清单,更新AssemblyInfo.cs的文件中程序集元数据,最后调用创建程序包指令,将相关项目文件打包成名为ProjectName.{version}.nupkg的文件。
在本发明实施例中,步骤101中,通过NuGet类库提供的发布指令,将nupkg的文件发布到指定的NuGet仓库上。NuGet程序包库为根据项目需要搭建的NuGet仓库,用来存储和管理所有共享的NuGet程序包。
在本发明实施例中,步骤102-步骤104具体包括,在Visual Studio项目中,选择NuGet管理器,将仓库信息配置到项目中,查找需要安装的NuGet包,找到程序包后,并通过特定的接口下载单个NuGet程序包和它的依赖项,并将NuGet包应用到具体的开发项目中。至此,实现了项目中类库的复用。仓库就是一个存放NuGet包服务器,也就是第一服务器。仓库信息主要只是第一服务器的地址信息。需要将这个服务器的地址信息,配置到具体的开发项目中,方可复在第二服务器上用该仓库的NuGet包。
在本发明实施例中,如图2所示,还包括:
步骤201:第一服务器对NuGet程序包中的类库进行更新,将更新的NuGet程序包发布到NuGet程序包库上;
步骤202:第二服务器中项目对应的NuGet管理器追踪到指定的项目中引用的类库的更新状态,从所述第一服务器中下载更新的NuGet程序包和依赖项,基于所述更新的NuGet程序包和依赖项进行更新。
具体的,后期维护这些库时,更新项目中的对应类库。当类库发生升级,打开特定项目中的NuGet管理器,可追踪到该项目引用的所有类库的名称和当前版本,找到需要更新的程序包,选择需要更新的版本,即可实现类库的维护和更新。更新命令卸载旧程序包,然后安装新程序包,确保所有依赖项都根据需要得到更新。
在本发明实施例中,提供了一种基于NuGet程序包的软件复用方法(第一服务器角度),如图3所示,该方法包括:
步骤301:将指定项目所需要管理的类库或程序生成相应的NuGet程序包;
步骤302:将所述NuGet程序包发布到指定的NuGet程序包库上,其中,所述NuGet程序包库为根据类库需要搭建的NuGet仓库,用来存储和管理所有NuGet程序包;
步骤303:接收第二服务器中项目对应的NuGet管理器发送的程序下载指令,根据程序下载指令从NuGet程序包库中找到相应的NuGet程序包和依赖项,将所述相应的NuGet程序包和依赖项下发至第二服务器中项目对应的NuGet管理器中。
在本发明实施例中,该方法还包括:对NuGet程序包中的类库进行更新,将更新的NuGet程序包发布到NuGet程序包库上。
在本发明实施例中,该方法步骤301包括:
创建一个类库项目,通过NuGet指令,可生成NuSpec清单并同时更新AssenblyInfo.cs文件中的程序集元数据,最后调用创建程序包指令,生成名为ProjectName.{version}.nupkg的文件。ProjectName.{version}.nupkg文件就是最后需要管理的NuGet包,程序和类库最后都会打包成NuGet包。程序集元数据,只是完成打包需要的一个文件。
基于同一发明构思,本发明实施例中还提供了一种基于NuGet程序包的软件复用装置,如下面的实施例所述。由于基于NuGet程序包的软件复用装置解决问题的原理与基于NuGet程序包的软件复用方法相似,因此基于NuGet程序包的软件复用装置的实施可以参见基于NuGet程序包的软件复用方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是本发明实施例的基于NuGet程序包的软件复用装置的结构框图(第一服务器角度),如图4所示,包括:
NuGet程序包生成模块401,用于将指定项目所需要管理的类库或程序生成相应的NuGet程序包;
NuGet程序包发布模块402,用于将所述NuGet程序包发布到指定的NuGet程序包库上,其中,所述NuGet程序包库为根据类库需要搭建的NuGet仓库,用来存储和管理所有NuGet程序包;
NuGet程序包查找下载模块403,用于接收第二服务器中项目对应的NuGet管理器发送的程序下载指令,根据程序下载指令从NuGet程序包库中找到相应的NuGet程序包和依赖项,将所述相应的NuGet程序包和依赖项下发至第二服务器中项目对应的NuGet管理器中。
在本发明实施例中,还包括:更新模块,用于对NuGet程序包中的类库进行更新,将更新的NuGet程序包发布到NuGet程序包库上。
在本发明实施例中,提供了一种基于NuGet程序包的软件复用方法(第二服务器角度),如图5所示,该方法包括:
步骤501:项目对应的NuGet管理器发送程序下载指令至第一服务器;
步骤502:接收第一服务器根据程序下载指令从NuGet程序包库中找到的相应的NuGet程序包和依赖项;其中,所述NuGet程序包库为根据类库需要搭建的NuGet仓库,用来存储和管理基于指定项目所需要管理的类库或程序生成的相应NuGet程序包;
步骤503:项目对应的NuGet管理器下载并管理相应的NuGet程序包和依赖项,将相应的NuGet程序包和依赖项添加到指定项目中。
在本发明实施例中,该方法还包括:当第一服务器更新NuGet程序包中的类库并发布到NuGet程序包库上时,项目对应的NuGet管理器追踪到指定的项目中引用的类库的更新状态,从第一服务器中下载更新的NuGet程序包和依赖项,基于所述更新的NuGet程序包和依赖项进行更新。
基于同一发明构思,本发明实施例中还提供了一种基于NuGet程序包的软件复用装置,如图6所示,包括:
程序下载指令发送模块601,用于项目对应的NuGet管理器发送程序下载指令至第一服务器;
NuGet程序包下载模块602,用于接收第一服务器根据程序下载指令从NuGet程序包库中找到的相应的NuGet程序包和依赖项;其中,所述NuGet程序包库为根据类库需要搭建的NuGet仓库,用来存储和管理基于指定项目所需要管理的类库或程序生成的相应NuGet程序包;
NuGet程序包添加模块603,用于项目对应的NuGet管理器下载并管理相应的NuGet程序包和依赖项,将相应的NuGet程序包和依赖项添加到指定项目中。
在本发明实施例中,还包括:更新模块,用于项目对应的NuGet管理器追踪到指定的项目中引用的类库的更新状态,从第一服务器中下载更新的NuGet程序包和依赖项,基于所述更新的NuGet程序包和依赖项进行更新。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述所述方法的计算机程序。
综上所述,本发明提出的基于NuGet程序包的软件复用方法、装置及系统将指定项目所需要管理的类库或程序生成相应的NuGet程序包,并将指定项目所需要管理的类库或程序生成相应的NuGet程序包,项目对应的NuGet管理器从找到相应的NuGet程序包和依赖项并下载到第二服务器中项目对应的NuGet管理器中,第二服务器中项目对应的NuGet管理器下载并管理相应的NuGet程序包和依赖项,将相应的NuGet程序包和依赖项添加到指定项目中。与现有技术相比,本发明通过NuGet包创建、发布、获取等流程,对软件包的各个版本进行管理,并通过NuGet引用、更新、卸载等方式,将不同的类库集成到不同的项目中,实现软件的共享和复用,解决类库的版本一致性问题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种基于NuGet程序包的软件复用方法,其特征在于,包括:
第一服务器将指定项目所需要管理的类库或程序生成相应的NuGet程序包,将所述NuGet程序包发布到指定的NuGet程序包库上,其中,所述NuGet程序包库为根据类库需要搭建的NuGet仓库,用来存储和管理所有NuGet程序包;
第二服务器中项目对应的NuGet管理器发送程序下载指令至第一服务器;
第一服务器根据程序下载指令从NuGet程序包库中找到相应的NuGet程序包和依赖项,将所述相应的NuGet程序包和依赖项下发至第二服务器中项目对应的NuGet管理器中;
第二服务器中项目对应的NuGet管理器下载并管理相应的NuGet程序包和依赖项,将相应的NuGet程序包和依赖项添加到指定项目中。
2.如权利要求1所述的基于NuGet程序包的软件复用方法,其特征在于,还包括:
第一服务器对NuGet程序包中的类库进行更新,将更新的NuGet程序包发布到NuGet程序包库上;
第二服务器中项目对应的NuGet管理器追踪到指定的项目中引用的类库的更新状态,从所述第一服务器中下载更新的NuGet程序包和依赖项,基于所述更新的NuGet程序包和依赖项进行更新。
3.一种基于NuGet程序包的软件复用方法,其特征在于,包括:
将指定项目所需要管理的类库或程序生成相应的NuGet程序包;
将所述NuGet程序包发布到指定的NuGet程序包库上,其中,所述NuGet程序包库为根据类库需要搭建的NuGet仓库,用来存储和管理所有NuGet程序包;
接收第二服务器中项目对应的NuGet管理器发送的程序下载指令,根据程序下载指令从NuGet程序包库中找到相应的NuGet程序包和依赖项,将所述相应的NuGet程序包和依赖项下发至第二服务器中项目对应的NuGet管理器中。
4.如权利要求3所述的基于NuGet程序包的软件复用方法,其特征在于,还包括:
对NuGet程序包中的类库进行更新;
将更新的NuGet程序包发布到NuGet程序包库上。
5.一种基于NuGet程序包的软件复用方法,其特征在于,包括:
项目对应的NuGet管理器发送程序下载指令至第一服务器;
接收第一服务器根据程序下载指令从NuGet程序包库中找到的相应的NuGet程序包和依赖项;其中,所述NuGet程序包库为根据类库需要搭建的NuGet仓库,用来存储和管理基于指定项目所需要管理的类库或程序生成的相应NuGet程序包;
项目对应的NuGet管理器下载并管理相应的NuGet程序包和依赖项,将相应的NuGet程序包和依赖项添加到指定项目中。
6.如权利要求5所述的基于NuGet程序包的软件复用方法,其特征在于,还包括:
当第一服务器更新NuGet程序包中的类库并发布到NuGet程序包库上时,项目对应的NuGet管理器追踪到指定的项目中引用的类库的更新状态,从第一服务器中下载更新的NuGet程序包和依赖项,基于所述更新的NuGet程序包和依赖项进行更新。
7.一种基于NuGet程序包的软件复用系统,其特征在于,包括:第一服务器和第二服务器;
第一服务器用于:
将指定项目所需要管理的类库或程序生成相应的NuGet程序包,将所述NuGet程序包发布到指定的NuGet程序包库上,其中,所述NuGet程序包库为根据类库需要搭建的NuGet仓库,用来存储和管理所有NuGet程序包;
第二服务器用于:
其中的项目对应的NuGet管理器发送程序下载指令至第一服务器;
第一服务器还用于:
根据程序下载指令从NuGet程序包库中找到相应的NuGet程序包和依赖项,将所述相应的NuGet程序包和依赖项下发至第二服务器中项目对应的NuGet管理器中;
第二服务器还用于:
其中的项目对应的NuGet管理器下载并管理相应的NuGet程序包和依赖项,将相应的NuGet程序包和依赖项添加到指定项目中。
8.一种基于NuGet程序包的软件复用装置,其特征在于,包括:
NuGet程序包生成模块,用于将指定项目所需要管理的类库或程序生成相应的NuGet程序包;
NuGet程序包发布模块,用于将所述NuGet程序包发布到指定的NuGet程序包库上,其中,所述NuGet程序包库为根据类库需要搭建的NuGet仓库,用来存储和管理所有NuGet程序包;
NuGet程序包查找下载模块,用于接收第二服务器中项目对应的NuGet管理器发送的程序下载指令,根据程序下载指令从NuGet程序包库中找到相应的NuGet程序包和依赖项,将所述相应的NuGet程序包和依赖项下发至第二服务器中项目对应的NuGet管理器中。
9.一种基于NuGet程序包的软件复用装置,其特征在于,包括:
程序下载指令发送模块,用于项目对应的NuGet管理器发送程序下载指令至第一服务器;
NuGet程序包下载模块,用于接收第一服务器根据程序下载指令从NuGet程序包库中找到的相应的NuGet程序包和依赖项;其中,所述NuGet程序包库为根据类库需要搭建的NuGet仓库,用来存储和管理基于指定项目所需要管理的类库或程序生成的相应NuGet程序包;
NuGet程序包添加模块,用于项目对应的NuGet管理器下载并管理相应的NuGet程序包和依赖项,将相应的NuGet程序包和依赖项添加到指定项目中。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至6任一项所述方法的计算机程序。
CN201910890693.9A 2019-09-20 2019-09-20 基于NuGet程序包的软件复用方法、装置及系统 Active CN110647326B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910890693.9A CN110647326B (zh) 2019-09-20 2019-09-20 基于NuGet程序包的软件复用方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910890693.9A CN110647326B (zh) 2019-09-20 2019-09-20 基于NuGet程序包的软件复用方法、装置及系统

Publications (2)

Publication Number Publication Date
CN110647326A true CN110647326A (zh) 2020-01-03
CN110647326B CN110647326B (zh) 2023-10-24

Family

ID=69010880

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910890693.9A Active CN110647326B (zh) 2019-09-20 2019-09-20 基于NuGet程序包的软件复用方法、装置及系统

Country Status (1)

Country Link
CN (1) CN110647326B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905173A (zh) * 2021-05-07 2021-06-04 南京沁恒微电子股份有限公司 一种基于Eclipse的工程复用实现方法及其集成开发环境
CN117235023A (zh) * 2023-11-15 2023-12-15 广州嘉为科技有限公司 一种远程仓库缓存管理方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763258A (zh) * 2009-12-31 2010-06-30 深圳联友科技有限公司 一种软件复用方法及系统
US20130067427A1 (en) * 2011-09-13 2013-03-14 Sonatype, Inc. Method and system for monitoring metadata related to software artifacts
CN104462352A (zh) * 2014-12-04 2015-03-25 北京国双科技有限公司 数据打包方法及装置
CN106775730A (zh) * 2016-12-21 2017-05-31 深圳Tcl数字技术有限公司 程序发布方法及系统
CN107729066A (zh) * 2017-11-08 2018-02-23 重庆扬讯软件技术股份有限公司 一种基于svn资源库自动化构建发布方法与装置
CN110012096A (zh) * 2019-04-03 2019-07-12 中国工商银行股份有限公司 移动客户端服务更新管理方法、装置及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763258A (zh) * 2009-12-31 2010-06-30 深圳联友科技有限公司 一种软件复用方法及系统
US20130067427A1 (en) * 2011-09-13 2013-03-14 Sonatype, Inc. Method and system for monitoring metadata related to software artifacts
CN104462352A (zh) * 2014-12-04 2015-03-25 北京国双科技有限公司 数据打包方法及装置
CN106775730A (zh) * 2016-12-21 2017-05-31 深圳Tcl数字技术有限公司 程序发布方法及系统
CN107729066A (zh) * 2017-11-08 2018-02-23 重庆扬讯软件技术股份有限公司 一种基于svn资源库自动化构建发布方法与装置
CN110012096A (zh) * 2019-04-03 2019-07-12 中国工商银行股份有限公司 移动客户端服务更新管理方法、装置及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905173A (zh) * 2021-05-07 2021-06-04 南京沁恒微电子股份有限公司 一种基于Eclipse的工程复用实现方法及其集成开发环境
CN117235023A (zh) * 2023-11-15 2023-12-15 广州嘉为科技有限公司 一种远程仓库缓存管理方法、装置、设备及存储介质
CN117235023B (zh) * 2023-11-15 2024-03-12 广州嘉为科技有限公司 一种远程仓库缓存管理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN110647326B (zh) 2023-10-24

Similar Documents

Publication Publication Date Title
CN106227579B (zh) 一种Docker容器构建方法及Docker管理控制台
US8255362B2 (en) Methods, systems, and computer program products for provisioning software using local changesets that represent differences between software on a repository and a local system
US8255363B2 (en) Methods, systems, and computer program products for provisioning software using dynamic tags to identify and process files
CN107577475B (zh) 一种数据中心集群系统的软件包管理方法及系统
US9471365B2 (en) Techniques for performing virtual machine software upgrades using virtual disk swapping
US8589903B2 (en) Patch attachment facility
US20180088926A1 (en) Container image management using layer deltas
US9477462B2 (en) System and method for software product versioning packaging, distribution, and patching
US8561023B2 (en) Software change management extension for uniformly handling artifacts with relaxed contraints
US20180060065A1 (en) Advanced packaging techniques for improving work flows
US8316224B2 (en) Systems and methods for tracking a history of changes associated with software packages and configuration management in a computing system
US20060288054A1 (en) Methods, systems, and computer program products for provisioning software via a file repository in which a version string is used to identify branches of a tree structure
US20160098253A1 (en) Delivering and deploying services in multi-server landscapes
US10963236B2 (en) Creation of software images of software applications for image-based maintenance of the software applications
JP6757735B2 (ja) ヘテロジニアスなコンピューティング環境にわたってクラウドサービスをプロビジョニングするためのシステムおよび方法
CN110647326B (zh) 基于NuGet程序包的软件复用方法、装置及系统
CN112596762A (zh) 一种滚动升级方法及装置
CN115480801A (zh) 一种基于Vue框架的多项目开发部署运行方法和系统
EP2972793A1 (en) Software framework for a storage device
CN112748905B (zh) 基础库的初始化调用方法、装置、电子设备及存储介质
CN113296891A (zh) 基于平台的多场景知识图谱处理方法及装置
US20200133709A1 (en) System and method for content - application split
CN110955415A (zh) 一种投影多平台服务适配的方法
CN114860202A (zh) 项目运行方法、装置、服务器及存储介质
Wilson Constructing and Managing Appliances for Cloud Deployments from Repositories of Reusable Components.

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant