iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 10
1

今天來換換口味講一下.net Core好了,我們會用.net core寫後端api來操作資料庫

公司專案目前都是建置在.net framework下,撰寫WEB API、MVC等各種後端操作

希望藉由鐵人賽來了解一下.net Core平台下,我們要怎麼寫程式/images/emoticon/emoticon01.gif
對了.net Core是用C#來寫的歐

我覺得這篇可以好好看看What is .NET?

.NET is a free, cross-platform, open source developer platform for building many different types of applications.

With .NET, you can use multiple languages, editors, and libraries to build for web, mobile, desktop, gaming, and IoT.

.net Core官網官方文件已經寫的很不賴了
官方文件也說了

.NET Core 是 .NET 的開放原始碼跨平台實作

簡單說可以在Windows、macOS 和 Linux開發.net相關程式,不在侷限在.net Framework中

ASP.net Core

  • ASP.NET Core 是一種跨平台且高效能的開放原始碼架構
  • 建置現代化、雲端式、網際網路連線的應用程式、 Web 應用程式和服務、IoT 應用程式、以及行動後端
  • 可以在 Windows、macOS 和 Linux 上使用慣用的開發工具
  • 部署到雲端或在內部部署。
  • 在 .NET Core 或 .NET Framework 上執行。

.Net 2010以後版本演進

ASP.NET 4.5 Visual Studio 2013、2012 .NET Framkwork 4.5
ASP.NET 4.6 Visual Studio 2015、2017 .NET Framkwork 4.6
ASP.NET 5 Visual Studio 2017 .NET Core (ASP.NET 5版本開放源碼跨平台開發)

以前

https://ithelp.ithome.com.tw/upload/images/20181025/201056848GjOdzouLO.png

以前版本ASP.NET的Stack非常倚重System.Web,所以Windows作業系統與IIS綁死在一起

現在

https://ithelp.ithome.com.tw/upload/images/20181025/201056841r9jsozhLV.png

ASP.NET 5的Stack,為了開放原始碼與跨平台(Linux、iOS),擺脫了對 System.Web 的依賴

優點分析

  • Microsoft 在 Windows、macOS 與 Linux上 都支援 .NET Core
  • 每年都為它推出安全性與品質更新數次
  • .NET Core 二進位發行版本是在 Azure 中由 Microsoft 維護的服務上建置及測試,享有與任何 Microsoft 產品一樣的支援
  • 應用程式介面區較小,包括更嚴密的安全性、減少維護工作,以及提升效能
  • 完美整合常用的用戶端架構和程式庫,包括 Angular、React 與 Bootstrap

想想看

是否真的要擁抱 .Net Core?
看專案需求,新專案可以考慮使用.net Core

是否 .Net framwork 要被淘汰了?
短時間不會,至少 .NET Framkwork 4.5~4.6( Visual Studio 2012~2017 )平台還是現在開發的大宗

安裝 & Hello World

首先到官網下載並安裝.NET Core SDK
https://ithelp.ithome.com.tw/upload/images/20181026/20105684SYZJQ8tLrh.jpg
選擇Build Apps來下載與安裝

安裝完後,可以看一下版本

donet --version //2.1.403

開啟VS CODE,並建好一個folderNetCoreTri
在VS CODE的終端機中建一個專案

dotnet new console

建好以後可以看到有個熟悉的Program.cs

using System;

namespace NetCoreTri
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

這時候在Terminal

dotnet run

可愛的‵Hello World!‵就出現啦

記得之後開始寫邏輯時,要下載VS CODE的C#套件阿
https://ithelp.ithome.com.tw/upload/images/20181026/20105684GozRWv0UXO.jpg
會幫你裝好C#相關語法檢查阿
https://ithelp.ithome.com.tw/upload/images/20181026/20105684Fy2ujCImAP.jpg

偵錯也是相當容易
在程式碼中放入中斷點
並且點選左邊的VS COED bug蟲蟲
https://ithelp.ithome.com.tw/upload/images/20181026/20105684SqykqWAeA8.jpg
就會看到進入中斷點啦
F5與F10、F11的功能就照舊啦
https://ithelp.ithome.com.tw/upload/images/20181026/20105684yWPOlkIxic.png

參考資料

https://docs.microsoft.com/zh-tw/dotnet/standard/
https://docs.microsoft.com/zh-tw/aspnet/core/?view=aspnetcore-2.1
https://ithelp.ithome.com.tw/articles/10192429
https://blog.alantsai.net/posts/2017/10/net-framework-see-new-core-04-net-core2-intro
https://docs.microsoft.com/zh-tw/dotnet/core/tutorials/with-visual-studio-code


上一篇
Day 9 Angular專案配置-Pipe
下一篇
Day 11 NoSQL 介紹
系列文
三十天利用Angular與.net Core開發實戰一波32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
eric19740521
iT邦新手 1 級 ‧ 2021-03-23 18:37:57

我把c# .net core 專案 傳到 群輝服務器linux nas...

然後拷貝專案到 microsoft-dotnet 容器內(docker)...

cd /test/csharp

下達以下指令
dotnet build
dotnet run

出現 Hello World

我的問題,它不會編譯成.exe執行檔嗎???

https://ithelp.ithome.com.tw/upload/images/20210323/20013294KzgIxZZIda.png

0
pepinlin
iT邦新手 5 級 ‧ 2021-04-06 08:07:17

Be careful 文章中的一堆語助詞 (阿 呀...)

我要留言

立即登入留言