• <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 閱讀(489) 評論(0)  編輯 收藏 引用

            <2016年7月>
            262728293012
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            導航

            常用鏈接

            留言簿

            隨筆分類(11)

            隨筆檔案(79)

            文章檔案(1)

            收藏夾(38)

            學習網站

            一般網站

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            久久久久女教师免费一区| 免费久久人人爽人人爽av| 亚洲va国产va天堂va久久| 精品久久久久久久久午夜福利| 99久久超碰中文字幕伊人| 久久精品国产欧美日韩| 久久久黄色大片| 国产精品久久久久aaaa| 污污内射久久一区二区欧美日韩| 亚洲香蕉网久久综合影视| 久久香蕉国产线看观看乱码| 亚洲中文久久精品无码| 久久影视国产亚洲| 精品乱码久久久久久久| 四虎国产精品成人免费久久| 丁香久久婷婷国产午夜视频| 亚洲人成网亚洲欧洲无码久久 | 久久精品一区二区三区中文字幕 | 青青草国产97免久久费观看| 久久人妻少妇嫩草AV无码专区| 久久亚洲色一区二区三区| 国产韩国精品一区二区三区久久| 亚洲精品国产第一综合99久久| 91久久香蕉国产熟女线看| 国产精品久久久久天天影视| 亚洲欧洲久久av| 久久综合视频网站| 久久精品二区| 久久精品这里只有精99品| 久久久久国产一区二区三区| 久久久久免费精品国产| 成人久久精品一区二区三区| 久久久久成人精品无码中文字幕| 久久天天躁夜夜躁狠狠| 久久人人爽人人爽人人av东京热| 热久久视久久精品18| 亚洲美日韩Av中文字幕无码久久久妻妇| 国产精品成人99久久久久| 久久青青国产| 亚洲欧美国产精品专区久久| 精品久久久久久久国产潘金莲|