zoukankan      html  css  js  c++  java
  • 怎样从自己用Nexus构建的Nuget仓库发布或下载dll

    目的:怎样从自己用Nexus构建的Nuget仓库发布或下载dll

    实现:

        我们前面已经讲过用Docker来运行Nexus构建Maven仓库,这次我们将通过Nexus构建的Nuget仓库来发布和下载我们的dll,所以之前的关于Nexus的搭建就不在此描述了!

    其实Nexus默认已经有了Nuget的仓库,我们只需要设置好相应权限给相关人员即可,例如:

    接下来主要说明我们怎样发布我们的dll,或一些第三方的dll到我们的仓库中去,下面我们以发布一个第三方的dll到仓库后在下载来说明:

     1、获取Nuget API Key

        我们如果需要发布dll到Nexus的Nuget仓库的话,一个是需要管理员授予权限,另外一个是要查看Nuget API Key,如果自己没权限,可以找管理员,例如:

    2、下载nuget.exe

        将下载的nuget.exe文件放到需要打包的路径,或者将nuget.exe的存放路径添加到path中去,反正就是要能正常运行nuget.exe

    3、创建.nuspec文件

        我们可以通过cmd,先当前目录切换到你需要打包的目录,另外打包目录需要创建lib文件夹,如果有framework版本的,我们还可以在lib下创建类似net45的文件夹,

    即:"打包路径/lib/net45",我们在"打包路径/lib/net45"下放入需要打包的dll,如果有相关xml也可放入,例如:

    这些准备好后,我们切回到打包路径,运行如下命名(后面的TIBCO.EMS替换为你需要发布的dll的ID):

    nuget spec TIBCO.EMS

    如果运行正常,应该会生成TIBCO.EMS.nuspec文件(相应的dll ID名.nuspec),例如:

    4、修改TIBCO.EMS.nuspec(TIBCO.EMS替换为你需要发布的dll的ID)

        因为上面生成的.nuspec文件只是个模板,我们需要针对我们自己的具体情况来调整,例如调整为:

    <?xml version="1.0"?>
    <package >
      <metadata>
        <id>TIBCO.EMS</id>
        <version>8.3.0</version>
        <authors>AngusYang</authors>
        <owners>Esquel</owners>
        <requireLicenseAcceptance>false</requireLicenseAcceptance>
        <description>TIBCO EMS DLL V8.3.0</description>
        <releaseNotes>TIBCO EMS DLL V8.3.0</releaseNotes>
        <copyright>Copyright 2017</copyright>
        <tags>TIBCO EMS</tags>
        <dependencies>
        </dependencies>
      </metadata>
    </package>

    当然,如果有依赖的话,需要添加依赖的dll ID和版本等信息!例如我另外一个自己dll的配置信息:

    <?xml version="1.0"?>
    <package >
      <metadata>
        <id>CommonWebServiceLibrary</id>
        <version>1.0.0</version>
        <authors>AngusYang</authors>
        <owners>Esquel</owners>
        <requireLicenseAcceptance>false</requireLicenseAcceptance>
        <description>Esquel Common WebService Library for TIBCO ESB</description>
        <releaseNotes>Release first version to Nexus Server.</releaseNotes>
        <copyright>Copyright 2017</copyright>
        <tags>Esquel ESB</tags>
        <dependencies>
            <group targetFramework=".NETFramework4.5">
                <dependency id="log4net" version="2.0.5" />
                <dependency id="TIBCO.EMS" version="8.3.0" />
            </group>
        </dependencies>
      </metadata>
    </package>

    5、创建.nupkg文件

       但我们修改好我们的.nuspec文件后,我们将运行如下命名进行打包,例如:

    nuget pack TIBCO.EMS.nuspec

    如果运行正常,应该会在打包目录生成.nupkg文件,例如:

    6、发布

        当我们成功打包后,我们就可以执行我们的发布命令了,例如:

    nuget.exe push -Source http://[mynexusserver:port]/repository/nuget-hosted/ -ApiKey [第一步获取的NugetAPIKey] TIBCO.EMS.8.3.0.nupkg

    将[]以及里面的内容替换为你相应的内容即可,如果运行成功,应该可以在仓库中能够找到,例如:

    发布在此已基本完成,接下来讲VS来下载安装:

    7、设置Package Manager Settings

     选择Tools-->NuGet Package Manager-->Package Manager Settings进行设置,如果没有NuGet Package Manager可以通过Tools-->Extensions and Updates来查找安装一个,例如:

    点击后增加一个自己的package soureces,地址为自己的Nexus服务器及端口,创建好后勾选上,取消掉默认的仓库,因为Nexus里面已经配置了该仓库,这样可以统一从Nexus来获取:

    8、获取安装自己需要的dll

     我们点击项目运行Manage NuGet Packages来搜索我们自己需要的dll,如果能够找到,说明配置成功,我们点击安装即可!

  • 相关阅读:
    按指定时间段分组统计
    SQL 截取字符
    SQL日期转换
    CentOS7安装rabbitMQ,并实现浏览器访问
    springdata的jpa配置文件application.xml
    在Ubuntu上安装Hive
    在Ubuntu上安装Spark
    在Ubuntu上安装Hbase
    在Ubuntu上安装hadoop-2.7.7
    springboot整合springdatajpa时jar冲突
  • 原文地址:https://www.cnblogs.com/angusyang/p/6794793.html
Copyright © 2011-2022 走看看