.net

csharp

C# 幾種取得位置的方法

C# 中取得位置的方法友好幾種: * AppDomain.CurrentDomain.BaseDirectory * System.Reflection.Assembly.GetExecutingAssembly().Location * System.IO.Directory.GetCurrentDirectory() 經測試後這幾種方法的意義如下: * AppDomain.CurrentDomain.BaseDirectory > 執行的應用程式的位置路徑 * System.Reflection.Assembly.GetExecutingAssembly().Location > 目前執行的組件位置路徑 * System.IO.Directory.GetCurrentDirectory() > 下執行指令的位置路徑

By Mars

asp.net

升級 .NET 9 後把 Swagger 替換成 Scalar

要把 Swagger 替換成 Scalar 的原因無他,因為官方決定器用 Swagger 了,可以在此文章 Announcement: Swashbuckle.AspNetCore is being removed in .NET 9 看到相關資訊。 替換的方法超簡單,因為 Scalar 本身就有支援 .NET,只要使用 Scalar 官方提供package 即可,使用方法也超方便,以下簡單範例: 1. 安裝 package dotnet add package Scalar.AspNetCore 2. 啟用 scalar using Scalar.AspNetCore; var builder = WebApplication.CreateBuilder(); builder.Services.

By Mars

cli

.NET CLI 顯示語言設定

寫程式基本上很多資訊都還是習慣看英文,雖然英文程度也沒多好,但很多時候看英文真的是比看中文好懂,最近重新安裝 .NET SDK 的時候發現 CLI 突然變中文了,甚至在一些編譯器的環境會變成亂碼(無法顯示中文),所以後來就找了方法設定 CLI 的顯示語言。 可以透過命令設定環境變數 DOTNET_CLI_UI_LANGUAGE 其可變更 CLI 顯示的語言。 set DOTNET_CLI_UI_LANGUAGE='en-US' 如果用 PowerShell 可以用以下命令設定 $env:DOTNET_CLI_UI_LANGUAGE='en-US' Windows 底下也可以直接使用下列命令來將環境變數寫入使用者環境變數中: [Environment]::SetEnvironmentVariable("DOTNET_CLI_UI_LANGUAGE&

By Mars

.net

Disable NuGet Warning NU1803

如果使用自己的 nuget source 有可能會遇到使用 http 的服務,因此在 run 或 build 的時候會跳一大堆 warning NU1803 的狀況,雖然當然最好都使用 https 但有時候內部作業多少都會遇到沒有憑證只能使用 http 的狀況,這邊介紹幾個方式可以抑制這個警告的產生。 在 config 中設定 allowInsecureConnections <packageSources> <add key="gitlab" value="http://nuget.gitlab.com/api/v4/projects/1234/packages/nuget/index.json" allowInsecureConnections="

By Mars