<em id="3iliw"></em>
  • <progress id="3iliw"></progress>
  • <tbody id="3iliw"><pre id="3iliw"></pre></tbody><dd id="3iliw"><noscript id="3iliw"></noscript></dd>

    <progress id="3iliw"></progress>

    杭州.net培訓
    達內杭州.net培訓中心

    13175137725

    .NET應用程序

    • 時間:2018-04-24 17:00
    • 發布:杭州.NET培訓
    • 來源:知識庫

    1 基本概念

    為了方便本文演示,將通篇使用“.NET Core”一詞,以保持一致性。不過,此名稱涉及兩項非常重要的技術,分別是.NET Core和.NET Standard。.NET Core是執行應用程序的跨平臺運行時。.NET Standard是由編譯器強制執行的一組API,這些API被用作類庫的目標,因此一個庫就可以在任何支持標準的運行時上運行。例如,.NET Core 2.0、.NET Framework 4.6.1和Mono 4.8都支持.NET Standard 2.0(及更低版本)類庫。若要更好地理解這一概念,請參閱本期中的姊妹篇文章“揭秘.NET Core和.NET Standard”。

    同樣值得一提的是,.NET Core和.NET Standard 2.0支持的語言。粗略地講,這兩種技術的2.0版都支持C#、Visual Basic和F#。不過,我們對這一版Visual Basic的目標是,啟用.NET Standard 2.0類庫。也就是說,Visual Basic只提供類庫和控制臺應用程序的模板,而C#和F#則還提供ASP.NET Core 2.0應用程序模板。

    2 改進了通用項目文件

    處理.NET Core項目時,首先會注意到的地方之一是,它們共用高度簡化的通用項目格式。也就是說,使用一種工具(例如,命令行工具)創建的項目,可以在任何支持.NET Core的平臺(如Visual Studio或Visual Studio for Mac)上運行。采用全新的項目文件格式后,便不再需要使用GUID,也不再需要明確列出所含文件,這大大減少了將更新提交到版本控制系統時發生的合并沖突。下面的代碼展示了新C# .NET Core控制臺應用程序項目文件的全部內容:

    <Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>

    <OutputType>Exe</OutputType>

    <TargetFramework>netcoreapp2.0</TargetFramework>

    </PropertyGroup>

    </Project>

    此外,通用格式也意味著同一團隊的成員可以使用自己選擇的設備和平臺進行工作。如果三個團隊成員分別想要在Mac、Windows和Linux上工作,他們全都可以順暢參與同一個項目。若要詳細了解更新后的項目格式,請訪問 aka.ms/newprojectfile。

    3 命令行工具

    任何開發者工具的基礎都是軟件開發工具包(SDK),.NET Core也不例外。.NET Core SDK不可或缺的一部分是命令行接口(CLI),支持用戶使用命令行創建、生成和運行應用程序。借助CLI,可以使用常用編輯器創建應用程序,而無需安裝更重量級的工具。

    首先,安裝免費的.NET Core SDK(可從dot.net下載)。

    安裝SDK后,立即打開常用命令提示符,并運行“dotnet --help”,列出所有可用命令。dotnet命令是.NET CLI的驅動程序,語法為“dotnet <謂詞> [參數]”。例如,若要查看可以創建的所有項目類型模板,請鍵入“dotnet new”。 若要新建項目,請提供短名稱作為“new”操作的參數;例如,“dotnet new razor”創建包含新.NET Core 2.0 Razor頁面(若要了解這項超棒的新功能,請訪問aka.ms/razorpages)的C# ASP.NET Core Web應用程序。若要運行應用程序,請鍵入“dotnet run”,它會生成并啟動應用程序。打開瀏覽器后轉到輸出字符串中指明的URL(例如,http://localhost:5000),可以與要生成的應用程序進行交互。 由此觀之,開發并不是什么難事,只需選擇常用編輯器生成并運行應用程序即可。

    4 單元測試

    生成應用程序后,不妨在生命周期的相對早期添加單元測試支持。與預期一樣,單元測試適用于IDE,但也可以直接通過.NET CLI生成并運行單元測試。 

    大家可能已注意到,“dotnet new”提供了兩種不同的單元測試項目類型,分別為xunit和mstest。首先,使用首選單元測試框架(如“dotnet new xunit”)創建單元測試項目,然后再在測試項目文件夾中鍵入“dotnet add reference <測試項目的路徑>”,讓CLI為大家添加對項目文件的引用。生成單元測試項目后,便可以使用“dotnet test”命令通過CLI運行測試項目。無論選擇哪種項目類型,xunit和mstest項目都受到Visual Studio和Visual Studio for Mac以及CLI的支持。

    5 Visual Studio Code

    雖然可以自由選擇使用所需的任何編輯器,但對于渴望輕量級編輯體驗同時又需要結合使用.NET Core CLI的用戶,Visual Studio Code提供的體驗最佳。  Visual Studio Code是輕量級跨平臺編輯器,內置源代碼管理和調試支持。通過將.NET CLI與Visual Studio Code結合使用,可以在所選的任何平臺上生成.NET應用程序。首先,需要安裝.NET Core SDK,如前所述。在計算機上安裝SDK后,便可以從code.visualstudio o.com下載并安裝Visual Studio Code,再選擇Visual Studio Code左側的“擴展”選項卡,安裝Microsoft提供的C#擴展,即適用于Visual Studio Code的C#(由OmniSharp提供技術支持)。(如果使用的是F#,不妨也安裝Ionide-fsharp擴展。請注意,若要獲得.NET Core生成和調式支持,必須安裝C#擴展。) 現在,可以使用Visual Studio Code開發.NET Core項目了。 

    借助C#擴展,Visual Studio Code可以代表用戶調用CLI,從而生成并運行應用程序以供調試。創建項目后,立即打開Visual Studio Code,并選擇“文件”菜單中的“打開文件夾”。打開C#文件(.cs)時會看到提示,即編輯器頂部的建議欄,建議生成必需資產以供生成和調試之用,如圖1 所示。選擇“是”,便會生成兩個文件:支持使用Visual Studio Code進行生成的tasks.json文件,以及支持調試的launch.json文件。現在,可以直接使用Visual Studio Code進行編輯、編譯和調試。

    圖1:Visual Studio Code建議生成必需資產以供生成和調試之用

    6 Visual Studio

    Visual Studio會繼續支持世界一流的開發者體驗,對.NET Core的工具支持也不例外。Visual Studio 2017(版本15.3)現已開始支持.NET Core 2.0。若要在Visual Studio中開始編寫.NET Core 2.0應用程序,需要下載并安裝.NET Core 2.0 SDK。在計算機上安裝SDK后,立即重啟Visual Studio,便會發現新項目可定目標到.NET Core 2.0。

    我們設定的目標是,讓Visual Studio 2017成為迄今為止提供的最高效的開發服務。為了提供一些亮點,我們改進了代碼導航、新增了大量重構/快速修復命令,并增添了代碼樣式強制措施和Live Unit Testing。

    導航和重構:我們知道,在用戶處理代碼時,務必要提供對基準代碼導航的巨大支持。下面列出了Visual Studio 2017中最受歡迎的代碼導航改進:

    ·        轉到實現(Ctrl+F12):從任何基類型或基成員轉到各種實現。

    ·        轉到全部(Ctrl+T或Ctrl+,):直接轉到任何文件/類型/成員/符號聲明。可以使用此功能頂部的一排圖標,以篩選結果列表或使用查詢語法(例如,對文件使用“f searchTerm”、對類型使用“t searchTerm”等)。

    ·        查找所有引用(Shift+F12):現在,借助語法著色,可以綜合項目、定義和路徑,對“查找所有引用”結果進行自定義分組。還可以“鎖定”結果,這樣就可以繼續查找其他引用,同時又不丟失原始結果。

    ·        縮進參考線:灰色的豎虛線可以在代碼中起到關鍵點的作用,方便用戶獲得可視范圍內的上下文。可以通過常用的Productivity Power Tools添加此類參考線。

    此外,光做到基準代碼導航還是不夠的;我們知道,在代碼中查找要更改或清理的部分時,需要使用工具進行重構。為了幫助用戶進行重構,現已開始支持執行以下操作:將類型移到同名文件中、同步文件和類型名稱、為參數添加null檢查、添加參數、添加缺少的switch/Select case、同步方法、將方法轉換為屬性(反之亦然)和解決合并沖突等。 

    代碼樣式:在Visual Studio 2017中,可以配置并強制執行團隊的編碼約定,通過EditorConfig提高整個存儲庫的一致性。EditorConfig是一種開放的文件格式,我們與其社區合作,共同在此格式內提供.NET代碼樣式支持。團隊可以配置約定首選項,并選擇如何在編輯器內強制執行它們(如通過建議、警告或錯誤消息的形式)。這些規則適用于包含EditorConfig文件的目錄中的任意文件。如果編碼約定因項目而異,只要項目位于不同的目錄,就可以在不同的EditorConfig文件中定義各個項目的規則。因為歸根結底EditorConfig只是文本文件,所以可以將它輕松簽入源代碼管理系統中,并讓它與源代碼并存。若要詳細了解Visual Studio中的EditorConfig支持,請訪問 aka.ms/editorconfig。

    Live Unit Testing:生成MSTest、xUnit或NUnit測試項目后,就可以為.NET Core項目啟用Live Unit Testing (LUT)。LUT是Visual Studio 2017 Enterprise版本中引入的一項新功能。啟用LUT后,可以一邊鍵入,一邊在代碼編輯器中看到有關單元測試覆蓋率和測試通過/未通過的反饋,如圖2 所示。也就是說,不再需要離開編輯器,即可運行單元測試來驗證代碼更改。一鍵入代碼,就可以在編輯器中看到即時反饋,查看所有受代碼更改影響的測試的結果。

    圖2:.NET Core項目中運行的Live Unit Testing

    熱衷于提升質量的團隊和熱愛測試驅動開發(TDD)的用戶都會喜歡這項新功能。若要啟用LUT,請轉到Visual Studio菜單欄中的“測試”條目,再依次選擇“Live Unit Testing”和“啟動”。

    7 Visual Studio for Mac

    Visual Studio for Mac是Visual Studio系列的最新成員,適用于要在macOS上使用IDE的開發者。從Xamarin Studio起步,Visual Studio for Mac有了很大的發展和變化,現已開始支持C#和F#項目。首先,安裝.NET Core 2.0 SDK(可從dot.net下載),依次選擇“創建項目”和“.NET Core”類別下的“應用程序”條目,以選擇所需的項目模板。 

    將會看到一個功能完備的IDE,可用于在Mac上開發.NET Core應用程序,如圖3 所示。我們正在努力解決的一個問題是,讓Visual Studio與Visual Studio for Mac保持一致。現在,可以使用在Visual Studio中依靠的大部分功能,包括IntelliSense、代碼導航、重構、單元測試和源代碼管理集成。為了支持Web開發,我們為Visual Studio for Mac引入了Visual Studio HTML、CSS和JSON編輯器。大家可能會注意到,Razor文件(.cshtml)和JavaScript/TypeScript暫不受支持。不過,我們正在努力解決此問題,計劃將在今后發布的更新中讓Visual Studio for Mac支持它們。

    圖3:Visual Studio for Mac

    8 工具兼顧新式云

    隨著技術不斷發展,有一點是明確的,即越來越多的應用程序在創建之初就要在云中運行。也就是說,工具需要采用兼顧新式云的設計模式和做法,同時還要方便用戶將應用程序從本地開發計算機快速轉移到云中。 為了實現此目標,Visual Studio和Visual Studio for Mac均已內置支持,不僅支持直接發布到Microsoft Azure,還支持將應用程序打包為Docker容器。

    直接發布到Azure:準備好將應用程序遷移到云中運行時,很可能希望盡可能輕松地在云中開始嘗試執行此操作。使用Visual Studio和Visual Studio for Mac,都可以將應用程序直接從計算機發布到Azure App Service。App Service是完全托管式云環境,在其中運行應用程序,無需擔心復雜的配置或基礎結構管理。

    具體操作真的很簡單,只需右鍵單擊項目并選擇“發布”,即可使用Visual Studio或Visual Studio for Mac將應用程序從本地計算機發布到Azure App Service。系統會提示輸入一些信息(如應用程序的唯一URL)。可以選擇現有的應用服務計劃(要為成員應用程序集合保留多少資源),也可以新建一個(如果還沒有的話)。輸入信息后,只需花幾分鐘時間,就可以在云中運行應用程序了。 

    容器開發工具:關于新式云開發,我們逐漸明白的是,容器將徹底改變人們架構和生成軟件的方式。使用容器,可以將應用程序及其所有依賴項(包括運行時副本)打包到一個單元中,這樣能夠保證對基礎服務器的更改永遠不會破壞應用程序。這會形成一種微服務體系結構模式。在此模式中,可以將應用程序中的每個邏輯單元都單獨部署為一個容器,它們通過已定義的協議相互通信。這樣一來,可以根據需要縮放應用程序的高需求部分,而無需付費縮放整個應用程序。這也意味著,修補程序只會影響正在更新的容器,而不會影響整個應用程序。

    本著這種想法,我們為.NET Core設定的目標之一是,讓它成為創建容器化微服務的主要運行時。Visual Studio、Visual Studio for Mac和Visual Studio Code全都支持將應用程序生成為Docker容器。(請注意,在本文撰寫時,必須有Docker工具擴展,Visual Studio for Mac才提供Docker工具支持;Microsoft為Visual Studio Code提供Docker擴展,以支持創建Docker容器。)

    若要生成Docker容器,需要安裝適用于OS的Docker工具(可以訪問docker.com了解詳細信息并下載工具)。安裝必需項后,只需在Visual Studio或Visual Studio for Mac中右鍵單擊項目,再依次選擇“添加”和“Docker支持”即可。這樣可以向解決方案添加docker-compose項目,并將Dockerfile添加到項目中。借助這些資產,可以將項目生成到Docker容器中。然后,通過IDE運行應用程序時,就是在容器中(而不是直接在主機上)運行和調試應用程序了。令人鼓舞的是,本文介紹的發布到Azure App Service體驗也支持發布Linux Docker容器。

    預約申請免費試聽課

    怕錢不夠?就業掙錢后再付學費!    怕學不會?從入學起,達內定制課程!     擔心就業?達內多家實踐企業供你挑選!

    上一篇:國內哪家IT培訓機構好
    下一篇:.NET Core如何實現RedisClient
    • 掃碼領取資料

      回復關鍵字:視頻資料

      免費領取 達內課程視頻學習資料

    • 視頻學習QQ群

      添加QQ群:1143617948

      免費領取達內課程視頻學習資料

    Copyright ? 2018 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

    選擇城市和中心
    江西省

    貴州省

    廣西省

    海南省

    国拍自产亚洲 2019国拍自产在线,国拍自产亚洲,国产a在线不卡 百度 好搜 搜狗
    <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>