• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            在離線環境中使用.NET Core

            原文地址:http://www.cnblogs.com/durow/p/5681331.html

             

            0x00 寫在開始

            很早開始就對.NET Core比較關注,一改微軟之前給人的印象,變得輕量、開源、跨平臺。最近打算試著在工作中使用。但工作是在與互聯網完全隔離的網絡中進行的,因此就開始了在離線環境中部署.NET Core開發環境的嘗試。總的來說還是比較蛋疼的,幾乎每個階段都遇到了問題。不過還好最后搞定了,寫下這篇博客做個記錄,同時分享給有類似需求的童鞋。以下都是親測有效。

            0x01安裝VS2015 Update3

            開發.NET Core可以使用VS2015和VS Code。在這里先討論VS2015的情況,畢竟如果在Windows下開發,VS2015功能上還是要強太多。.NET Core Web Tools必須要VS2015 Update3以上,也就是首先要在內網安裝VS2015 Update3。我剛開始的方式是從官網下載光盤鏡像,然后安裝。但這樣大多數情況下是無法安裝的。會提示“安裝包丟失或損壞”,之前裝VS2015時可以選擇跳過文件,裝完后也能用(至少WPF沒問題),但從VS2015 Update2開始,有些安裝包無法選擇跳過,只能退出安裝。

            之所以提示安裝包損壞,是因為系統中缺少

            microsoft root certificate authority 2010

            microsoft root certificate authority 2011

            這兩個證書,導致安裝包驗證無法通過,所以認為損壞。

            解決方法:

            1.找一臺正常裝了VS2015的電腦,Win+R打開運行,輸入certmgr.msc,打開證書管理界面。

            2.在受信任的根證書頒發機構中找到缺少的兩項。按照默認方式導出(不知道為什么我這臺電腦上有重復)。

            3.證書復制到內網,打開證書管理界面,然后在受信任的根證書辦法機構中導入證書。

            這樣就可以正常安裝VS2015 Update3了。

            此外還要說明的是除了下載VS2015 Update3的光盤鏡像外,還可以離線安裝文件,把安裝文件考到離線環境下安裝。具體方法是:在官方下載頁面中下載Web安裝程序

            https://www.visualstudio.com/downloads/download-visual-studio-vs

            以community版本為例,在安裝程序所在目錄打開命令行窗口,輸入:vs_community_CHS.exe /layout 這樣就可以把文件都離線下來,貌似比光盤鏡像內容要多一些。

            0x02 安裝DotNetCore.1.0.0-VS2015Tools.Preview2

            這個可以用與VS2015同樣的方式離線,下載在線安裝程序后,在安裝程序所在目錄打開命令行窗口輸入:

            DotNetCore.1.0.0-VS2015Tools.Preview2.exe /layout

            即可把安裝文件下載到相同目錄下packages文件夾里,其中也包含了.Net Core SDK。比較慘的是我的內網電腦裝了某國產殺毒軟件,每次一運行安裝就提示我惡意操作然后強行中止安裝,我又沒權限關掉殺毒軟件,所以只好在一個一個包手動裝的,不過好在可以正常使用。因為離線環境總是缺這缺那的,如果安裝過程中出現什么問題,只要查看錯誤log,然后解決就可以。

            0x03 如何使用nuget

            .NET Core的包依賴全都使用nuget,在線環境下自然是方便,離線環境下就稍麻煩一點了。在安裝VS2015 Update3時,.NET Core所需的官方依賴包都已經安裝在了(默認安裝)C:\Program Files (x86)\Microsoft SDKs\NuGetPackages目錄下,在nuget管理中也可以看到這是默認的離線包目錄,我們需要什么樣的包只要把它復制到這個目錄,在nuget管理中的程序包源選擇離線的源即可。

            那么怎么獲得離線安裝包呢,我們在用nuget安裝程序包時會在C:\Users\{你的用戶名}\.nuget\packages目錄進行緩存,只要找到緩存的包復制到離線環境,放到nuget離線目錄即可。

            另外還有一種方式就是在內網架設nuget服務,這個也十分容易,

            http://edi.wang/Post/2012/12/15/setup-private-nuget-server

            阿迪王這篇網文章比較詳細,可以參考。考慮到要用的.NET Core比較新,我用的最新版的NugetServer是可以用的,其它版本的沒試。服務架設好了在nuget管理中添加新的包源就可以了。

            這種方式同樣可以添加其它項目(例如WPF)的包依賴。

            0x04 使用VS Code開發

            除了VS外也可以使用VS Code開發.NET Core,我的方式是在能聯網的電腦上下載VS Code,然后裝一堆需要的插件,插件都裝在了C:\Users\{你的用戶名}\.vscode\extensions目錄下,只要把這個目錄打包考到離線環境中,解壓到相同目錄下就能用了。

            另外用VS Code開發在dotnet restore時需要加-s參數指明包源:dotnet restore -s 包目錄。或者在項目的根目錄添加nuget.config文件

            此文件可在github上下載: https://github.com/aspnet/Home/blob/dev/samples/latest/HelloMvc/NuGet.Config

            xml version="1.0" encoding="utf-8"?><configuration>
              <packageSources>
                <clear />
                <add key="AspNetVNext" value="https://www.myget.org/F/aspnetvnext/api/v2" />
                <add key="NuGetorg" value="https://nuget.org/api/v2/" />
              packageSources>configuration>

            在packageSources中添加自己的包源。

            0x05 寫在最后

            整個過程還是花了一些時間的,中途有幾次很郁悶不想搞了。但實在很想在工作環境中用.NET Core做點東西試試,幸好最終搞定了。想想看還是有些小激動的。

            posted on 2016-07-19 14:11 FongLuo 閱讀(502) 評論(0)  編輯 收藏 引用

            <2017年2月>
            2930311234
            567891011
            12131415161718
            19202122232425
            2627281234
            567891011

            導航

            常用鏈接

            留言簿

            隨筆分類(11)

            隨筆檔案(79)

            文章檔案(1)

            收藏夾(38)

            學習網站

            一般網站

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            亚洲精品乱码久久久久久| 久久精品国产第一区二区| 久久综合狠狠综合久久| 久久这里只精品国产99热| 日批日出水久久亚洲精品tv| 东方aⅴ免费观看久久av| 国产精品一区二区久久| 四虎影视久久久免费观看| www.久久热| 亚洲午夜久久久影院伊人| 精品无码久久久久久国产| 久久亚洲精品无码AV红樱桃| 色综合合久久天天给综看| 久久人人爽人人爽人人AV| 日本加勒比久久精品| 美女写真久久影院| 97精品伊人久久久大香线蕉| 欧美日韩精品久久久久| 国产精品99久久久久久董美香| 久久99国产综合精品女同| 精品综合久久久久久98| 成人综合久久精品色婷婷| 久久青草国产手机看片福利盒子| 丁香色欲久久久久久综合网| 亚洲另类欧美综合久久图片区| 99久久精品免费观看国产| 久久香蕉国产线看观看乱码| 97久久精品午夜一区二区| 久久强奷乱码老熟女网站| 久久午夜夜伦鲁鲁片免费无码影视 | 国产伊人久久| 久久被窝电影亚洲爽爽爽| 韩国免费A级毛片久久| 精品久久久久香蕉网| 97久久超碰国产精品旧版| 久久精品99久久香蕉国产色戒 | 久久99热狠狠色精品一区| 国产精品久久久亚洲| 久久精品这里热有精品| 国产精品无码久久久久| 亚洲国产精品成人久久蜜臀|