在 Windows 中使用 .NET 的 TimeZoneInfo 並呼叫 TryConvertWindowsIdToIanaId 問題

  • 83
  • 0
  • C#
  • 2025-03-30

Windows 上如果設定了時區(無論手動或自動),透過 TimeZoneInfo 取出的時區識別碼,都是根據所設定的地區的時區,並且回應成 Windows 使用的 TimeZone 格式識別碼。

例如設定為 (UTC +08:00) 台北取出來的識別碼的值會為:"Taipei Standard Time" 的字串資料。

但是…

...繼續閱讀 »

在 Visual Studio 連接 macOS 透由 .NET MAUI 開發 iOS 應用 (下載 xip 在 Mac 上安裝 Xcode)

這篇有提到:

在 macOS 上最主要就是要安裝 Xcode,而如果要安裝 Xcode 的管道,基本上有兩種:

  1. 透過 macOS 上的 App Store 安裝。(登入 Apple 帳號後即能免費下載使用)
  2. 透過 Apple Developers 網站來下載 .xip 安裝。(需要先有訂閱 Apple 開發者帳號才能下載使用)

本篇就來談談如何透過 .xip 來安裝 Xcode。

...繼續閱讀 »

在 Visual Studio 連接 macOS 透由 .NET MAUI 開發 iOS 應用 (用 App Store 安裝 Xcode)

如果要順利在 Visual Studio 來連接 macOS 透由 .NET MAUI 開發 iOS 的話,對於要連接的 macOS 上是需要事先安裝好 Xcode 等 Apple 所設計的 iOS 開發工具的。

不然,就算有開啟遠端登入等功能讓 Visual Studio 能夠連線並自動安裝 mono 等軟體元件,那也沒有 iOS 的相關 SDK 供使用。

在 macOS 上最主要就是要安裝 Xcode,而如果要安裝 Xcode 的管道,基本上有兩種:

  1. 透過 macOS 上的 App Store 安裝。(登入 Apple 帳號後即能免費下載使用)
  2. 透過 Apple Developer 網站來下載 .xip 安裝。(需要先有訂閱 Apple 開發者帳號才能下載使用)

本篇介紹是使用第一種方式來完成唷~~~

...繼續閱讀 »

Nuget 的中央軟體套件管理 (CPM) 使用

在 Nuget 的相依協助下,已經某種程度上可以是協助擺脫 dll hell 的一大工程(功臣?)

但是如果在一個解決方案當中有多個專案要引用相同的 Nuget 套件時,可能會發生各個不同的專案有各自使用不同 Nuget 套件的版本(套件相同版本不同)。

而每次要更新某個 Nuget 套件時就會要針對不同專案要處理更新,就會顯得相當繁瑣。

在 .NET 6.0 的設計中,開始可以使用中央的套件管理 Central Package Management (CPM) 的處理方式來處理這個問題。

...繼續閱讀 »

在 Visual Studio 透由 .NET MAUI 開發 Android 應用 (Android Emulator 與 AVD 設定)

在使用 .NET MAUI 的時候可以透過 Google 推出的 Android Emulator 來建立 Android Virtual Device (AVD),以便進行基本的 Android App 開發與前期的測試。

雖然在 App 的開發到後期通常會直接使用 實際的裝置 進行測試會比較恰當,但不可質疑的 AVD 在 Android App 很多開發情境當中仍是扮演著測試環節中很重要的部分。

 

而 Google 所推出的 Android Emulator 可以透過 Visual Studio 當中的 "Android 裝置管理員" 來使用,並且建立所需的 AVD 環境。

...繼續閱讀 »

簡單易用的統計圖表 UI 控制元件 - LiveCharts2

圖片擷取自 LiveChart2 官網

如果需要在 UI 上需要呈現統計圖表的話,LiveCharts2 是一套很不錯的統計圖表的套件,除了完全 OpenSource 外也如官網所提到的,對於 .NET 相關跨平台 UI Framework 都有支援。

https://livecharts.dev/#frameworks

如果考慮 UI 呈現的感覺與效果,個人覺得 LiveCharts2 實在稱的上是 .NET 跨平台開發者在統計圖表上的不二選擇!

...繼續閱讀 »

安裝 Visual Studio 2022 Preview 開發 .NET MAUI 跨平台應用

.NET 6 去年 11/8 正式發佈至今已經屆滿半年,而在今年的 Build 大會上也正式發佈 .NET MAUI (a.k.a. 下一代的 Xamarin.Forms,原 Xamarin.Forms 會持續維持在 5.x.x)。

而正常來說 GA 後的技術都會加到 Visual Studio 的 "Release Channel" 當中,但稍微弔詭的地方是 .NET MAUI 仍是被放在 "Preview Channel" 的 Visual Studio 當中。

發文的今天,微軟也正好發布 Visual Studio 2022 v17.3 的正式版🙈。

 

所以…

要使用 .NET MAUI 的話,必須安裝 Visual Studio 2022 Preview 的版本來使用。

...繼續閱讀 »

使用 ASP.NET Core 建立 Minimal Web API 並進行 Web Integration Test (xUnit)

  • 1677
  • 0
  • 2022-07-05

為了配合整體教育訓練的課程規劃,雖說 Web API 不是自己最專業領域,但仍是需帶點撰寫 Web API 的教學,才能讓學員們對 App 如何去介接後端資料有所了解,因此就開啟了一段 ASP.NET Core 6.0 的 Minimal Web API 教學。

畢竟 ASP.NET Core 6.0 的 Minimal Web API 使用了極簡的 Code,很適合給初心者在認識之初,不用了解太多特殊的設定就能快速上手,打造出一套含有 CRUD 功能的 Web API。

但若要完整透徹的了解 ASP.NET Core 6.0+ 所設計的 Minimal Web API 的整體概念(可參考文末的參考文件),仍是需要花上很多心力去摸索其基礎觀念與設計的,請務必釐清。 

 

在教學時也希望能夠帶給初心者的學員有正確開發觀念,所以過程中除了撰寫 Web API 外,也同時讓學員去撰寫 Integration Test 來測試自己產出的 Web API,在這邊則是選擇使用了 xUnit 來做為 Web API 的 Integration Test 所使用的 Framework。

...繼續閱讀 »

在 Xamarin(.Forms) 中使用 C# 9.0 開發 App

在 .NET 5 已正式推出且 .NET 6 即將於 2022年初(?) 現真身的這個時候,對於 .NET 所面向的各種執行平台預設對應撰寫 C# 的語言版本也有所差異。 

(上圖取自 "Enabling C# 9 in Xamarin & .NET Standard Projects" 網頁內容)

 

按照上表的 Xamarin(.Forms) 所用的是預設 C# 語言 7.3 版本,很多捧友就醬以為無法用 C# 9.0 新語法來開發,這可是不對的唷~~~

...繼續閱讀 »