怎樣從自己用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,如果能夠找到,說明配置成功,我們點擊安裝即可!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM