早上因為把在Visual Studio 2019練習的專案帶到Visual Studio 2015的電腦想進行開發,
發現內部的專案居然有些用了 ,NET Framework,有些則用了 .NET Core,
一直搞不懂兩者到底有什麼差異。
由於自動化機台開發都會配上工業電腦,
不像有些人的程式寫完需要丟到別人的電腦上去執行,
因此不會有環境版本不相容的問題(畢竟選電腦的是我,開發的人也是我),
所以一直拖著沒去真正了解它。
簡單來說,我們常使用的"內建"類別,
例如IO、Stream,甚至是最基本的int 、 char,
都是呼叫來自 .Net Framework 或 .Net Core,
當然他們不是只有提供類別給你使用而以,
還負責更底層的編譯與編譯後產生的執行檔所需的執行環境(Runtime)。
在一開始建立專案時,你就必須選定好你要使用哪一個框架,
兩者提供的基本功能都相同,但 .Net Core更額外提供跨平台相關的功能,
詳細的細節可以參考其他大神寫的一系列說明文章,非常清楚。
[.net framework 工程師看.net core][02]起源.Net Framework
[.net framework 工程師看.net core][03]工程師的語言 C#
[.net framework 工程師看.net core][04]真跨平台.Net Core介紹
總結
如果你和我一開始一樣不知道這是什麼,
只知道透過Visual Studioru建立專案時有這個參數可以修改,
但又不知道要選哪一個版本,
只要跟著主流選就是了(周遭的人使用的版本,多問幾次大概就知道),
通常主流不會是最新的版本,
比最新版本舊個一兩版通常都滿多人使用的,
例如目前 .Net Framework 最新版本是4.8,
你可以選擇 4.7.x 或 4.6.x 甚至是 4.5.x,
最後一個數字通常都只是小更動,所以任選哪一個版本都可以。
當然如果你想使用例如 C# 9.0 或 C++ 11 這類的最新版本,
最新版本可能新增了新的語法,
例如C++ 11就提供了foreach或lambda,
那你就要去看哪一個版本的框架有支援了。
當你已經了解自己的程式需要某個版本的功能的時候,
我想那時你已經是熟練老手,
且能夠判斷各個版本間的差異去選用自己適用的框架版本進行開發了。
沒有留言:
張貼留言