<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      程序員,用NuGet管理好你的包包

      每個女人都有很多包包;其實男人也有,但只有會寫程序的男人才有 —— 代碼世界中的大“包”小“包”。這些大包小包,有花錢買的,有從開源市場淘的,也有自己或同事親手制作的。

      包包有個特點:容易壞,更新快,新品多。于是,市場上有了包包專賣店,家里有了專門放包包的衣櫥。于是,女人經(jīng)常逛街買包包,經(jīng)常整理衣櫥里的包包。而男人呢,不喜歡逛街,不喜歡整理。。。面對越來越多的包包,很多人發(fā)出感嘆:做“會寫程序的男人”難!

      終于有人無法忍受這些大包小包的困擾,一款專門存放包包的“儲包柜”橫空出世 —— NuGet(http://nuget.codeplex.com/)。讀音-“New-Get”,中文翻譯-“新買的(包包)”,意指不管有多少包包,想扔就扔,想買就買,有NuGet幫您打理。

      會寫程序員的您,被包包困擾了嗎?用NuGet吧。不僅免費(fèi),而且開源 —— 可以隨心所欲地改裝成自己喜歡的儲包柜。

      使用NuGet有兩種方式

      一種是大家熟知的在線免費(fèi)包包專賣店 —— http://nuget.org/List/Packages,通過VS2010插件NuGet Package Manager可以方便地選用自己的包包。

      一種是在公司或自己家里安裝一個儲包柜 —— 架設(shè)自己的NuGet服務(wù)器。如何架設(shè)自己的NuGet服務(wù)器,可以參考園子的兩篇文章:

      1. 在內(nèi)部架設(shè)NuGet服務(wù)器

      秀一下博客園開發(fā)團(tuán)隊的儲包柜

      2011年6月的某一天,博客園開發(fā)團(tuán)隊也有了自己的儲包柜。

      目前儲包柜中主要存放的是一個很重要的包包 —— CNBlogsDomain,它包含我們的領(lǐng)域驅(qū)動開發(fā)(DDD)架構(gòu)中的公共部分,被各個應(yīng)用開發(fā)項目引用。

      在沒有NuGet的日子里。。。

      • 我們要將CNBlogsDomain編譯出的多個dll文件復(fù)制到各個項目的引用文件夾中。每次更新CNBlogsDomain,都要這樣。

      有了NuGet,生活從此改變。。。 

      1. 向自家的NuGet服務(wù)器發(fā)布CNBlogsDomain包包

      • 在CNBlogsDomain中建立一個publish文件夾。
      • 下載NuGet打包器至publish文件夾(NuGet.exe, 立即下載)。
      • 下載NuGetPackageUploader.exe包包上傳器(立即下載)至publish文件夾,該“包包上傳器”由園子里的lovecindywang開發(fā)(源代碼下載)。
      • 修改NuGetPackageUploader.exe.config,將endpoint address改為你的NuGet服務(wù)器地址。
      • 在publish文件夾中創(chuàng)建一個NuGetRelease.bat批處理文件,完成包包的制作與上傳。示例代碼如下:
        nuget pack ..\CNBlogs.Domain.Core\CNBlogs.Domain.Core.csproj
        NuGetPackageUploader
        .
      • 發(fā)布包包時,只需運(yùn)行NuGetRelease.bat,nuget命令會根據(jù).csproj文件自動完成打包,NuGetPackageUploader會將當(dāng)前文件夾中的所有包包(.nupkg文件)上傳至NuGet服務(wù)器。

      2. 在項目中選用自家NuGet服務(wù)器上的包包

      • 安裝VS2010插件NuGet Package Manager,并在Package Manager的Package Sources添加自家NuGet服務(wù)器存放“包包”的網(wǎng)址。
      • 在相應(yīng)的項目中選用所需的“包包”并安裝。
      • 安裝完成之后,NuGet會在當(dāng)前項目的文件夾中生成一個packages.config(表示當(dāng)前項目用了哪些包包),文件格式如下:
      • <?xml version="1.0" encoding="utf-8"?>
        <packages>
        <package id="CNBlogs.Domain.Core" version="1.0.0.1"/>
        </packages>

        并在當(dāng)前解決方案的根目錄下生成packages文件夾,選用的包包會被下載到這里,還會生成一個repositories.config文件(存儲的是每個packages.config的位置),文件格式如下:

        <?xml version="1.0" encoding="utf-8"?>
        <repositories>
        <repository path="..\CNBlogs.Applicaion.Demo\packages.config"/>
        </repositories>

        這樣就用起了自家的包包。

      3. 包包的升級

      這里繼續(xù)假設(shè)我們的包包名叫CNBlogsDomain。

      • 首先,我們在CNBlogsDomain中修改相應(yīng)的Assembly的版本號并編譯,表明這是一個新款包包。
      • 然后,運(yùn)行上面提到的NuGetRelease.bat批處理文件,將新款包包發(fā)布至NuGet服務(wù)器。
      • 接著,在使用這個包包的項目中通過VS2010打開Package Manage Console運(yùn)行Update-Package命令更新為新款包包。NuGet會自動刪除packages文件夾中的舊版包包,并下載新版包包。

      ?在使用中遇到的問題

      -a. 根據(jù)配置文件repositories.config自動下載包包

      問題場景:

      一個人在一個項目中添加好所有包包之后,只想把NuGet相關(guān)配置文件(repositories.config與packages.config文件)放到代碼版本庫中,packages文件夾中的包包不放進(jìn)去。另一個人簽出代碼后,需要重新下載這些包包,而NuGet命令只提供根據(jù)packages.config下載包包的功能(repositories.config分散在各個子項目文件夾中),并沒有提供根據(jù)repositories.config下載包包的功能(repositories.config存儲的就是packages.config文件的位置)。

      解決方法:

      寫了一個批處理文件(install.bat)放在packages文件夾中,通過PowerShell腳本讀取repositories.config,得到各個packages.config的位置,然后傳給NuGet命令。代碼如下:

      powershell.exe -command"[xml]$config = Get-Content repositories.config;
      foreach( $repository in $config.repositories.repository){ .\NuGet install $repository.path} "

      (為什么不直接寫在.ps1文件中?是為了跳過PowerShell的執(zhí)行限制, 不然要先執(zhí)行一下Set-ExecutionPolicy RemoteSigned)

      -b. 不改版本號,也能更新包包

      問題場景:

      NuGet每次更新包包,必須要發(fā)布一個不同版本號的包包。有時我們只進(jìn)行了很少的改動,不想修改版本號。

      臨時解決方法:

      繼續(xù)使用上一個問題中的批處理文件,執(zhí)行前刪除packages文件夾中所有的包包,然后重新下載所有包包。

      --進(jìn)一步的解決方法需要去修改NuGet的源代碼。

      小結(jié)

      程序員可以通過NuGet管理好自己的包包,那女人該如何管理好自己的包包呢?

      程序員的天性是喜歡解決問題,不僅僅是通過代碼解決問題。如果你是會寫程序的男人,把你在代碼世界中的智慧帶回現(xiàn)實世界,幫助你喜歡的女人解決問題。

      posted @ 2011-07-15 17:11  dudu  閱讀(44902)  評論(46)    收藏  舉報
      主站蜘蛛池模板: 上蔡县| av午夜福利一片免费看久久 | 久久亚洲av成人一二三区| 亚洲成在人线AV品善网好看| 在线高清免费不卡全码| 欧美综合区自拍亚洲综合绿色| 中文亚洲成A人片在线观看| 黑人大战中国av女叫惨了| 国产精品无码素人福利不卡| 欧美成人VA免费大片视频| 国产精品国产精品国产专区不卡| 成人av一区二区亚洲精| 亚洲小说乱欧美另类| 国产农村妇女aaaaa视频| 九九热精品在线观看| 亚洲中文字幕人妻系列| 国产精品va在线观看无码| 偷拍一区二区三区在线视频| 亚洲ⅴa曰本va欧美va视频| 曰本丰满熟妇xxxx性| 日韩精品亚洲国产成人av| 精品乱码一区二区三四五区| 华人在线亚洲欧美精品| 国产精品中文字幕在线看| 久久精品日日躁夜夜躁| 久9re热视频这里只有精品免费| 成年午夜无码av片在线观看| 女人扒开的小泬高潮喷小| 丰满少妇高潮无套内谢| 在线免费播放亚洲自拍网| 人妻聚色窝窝人体WWW一区| 午夜免费啪视频| 国内揄拍国内精品人妻久久| 国产人妻人伦精品婷婷| 麻豆tv入口在线看| 婷婷色婷婷深深爱播五月| 日韩人妻一区中文字幕| 性色av蜜臀av色欲av| 91久久亚洲综合精品成人| 91中文字幕一区二区| 人人超人人超碰超国产|