MASUDAQ BLOG
NO DEVELOPMENT NO LIFE.
.NET コンソールアプリで、構成情報を appsettings.json からロードする
コンソール アプリにおける構成情報のロード 以前の記事で、コンソール アプリで、Generic Host を使うことで、appsettings.json から構成情報をロードできることを説明しました。 .NET コンソールアプリで、DI(Dependency Injection) する Generic Host を使うことで、DI(Dependency Injection) 等の多くの機能が使えますが、構成情報のロードは、多くの機能の一部に過ぎません。 検証やデモ等で、簡単なコンソール アプリを開発する場合は、Generic Host の実装は、オーバースペックになるため、今回は、構成情報のロードに絞って説明します。 ConfigurationBuilder による構...
Azure OpenAI Client Library HTTP ログ出力の有効化
Azure OpenAI client library for .NET Azure OpenAI Service へのアクセスは、REST API で行えますが、JSON 文字列の要求の作成、応答の解析を行うのが手間になります。そこで、REST API をラップした SDK として、Azure OpenAI client library が提供されています。.NET での開発では、Azure OpenAI client library for .NET が利用できます。 nuget Azure.AI.OpenAI 一方で、REST API での開発と比べて、どのような HTTP 要求 / 応答が行われているか分からないためデバッグ時に問題となることがあります。このよ...
.NET 8 RC1 を Visual Studio 2022 で利用する
.NET 8 RC1 は、Go live で運用環境での利用がサポートされる 以下の記事にも書きましたが、.NET 8 は、2023 年 9 月 12 日に、.NET 8 RC1 がリリースされ、正式リリースの 2023 年 11 月 14 日 まで、あと 2 か月となりました。 .NET 8 リリース日と .NET ライフサイクルまとめ .NET 8 RC1 の特徴としては、サポート フェーズがあります。.NET 8 RC1 のサポート フェーズは、Go live となり、運用環境での利用もサポート対象となっています。 運用環境でのサポートがされるなら、さっそく、運用中のアプリケーションを .NET 8 RC1 ベースで!と、思ったりしますが、Visual Stud...
.NET 8 リリース日と .NET ライフサイクルまとめ
.NET 8 がリリースされた? 2023 年 9 月末に、Azure の管理アカウントに「Action required: Upgrade your App Service apps to .NET 8 (LTS) by 12 November 2024」、「Action required: Upgrade your App Service apps to .NET 8 (LTS) by 14 May 2024」というタイトルのメールがきました。 内容は、Azure App Service で、.NET 6, .NET 7 を使っているからメールしました。.NET 6 は、2024 年 11 月 12 日に、.NET 7 は、2024 年 5 月 14 日にサポート...
ngrok の代替となる Visual Studio 2022 Dev Tunnels
Visual Studio 2022 Dev Tunnels Visual Studio 2022 17.6 で、dev tunnels がサポートされました。トネリングを使ったリバース プロキシで、開発環境で起動したアプリをそのままパブリックの URL で公開できます。 API の開発等で、クライアントが、インターネット経由でのアクセスしかできない場合のデバッグに活用できます。 同様のことをするのに、これまでは、ngrok を使っていましたが、これが、Visual Studio 2022 に統合されました。設定も簡単で、認証もかけることができます。すごい!!待ってました!! Dev Tunnels の設定 Visual Stuido のデバッグの開始ボタンの [▼] -...
Visual Studio 2022 で Sass(.scss) をコンパイルする
Sass(Syntactically Awesome Style Sheets) Sass(Syntactically Awesome Style Sheets) は、CSS(Cascading Style Sheets) の構文を拡張したスタイルシート言語で、より柔軟な記述方法で Web サイトのスタイルを定義できます。Sass には、SASS、SCSS の 2 種類の記述方法があり、それぞれ、*.sass、*.scss といった拡張子で保存します。 Web サイトにスタイルを適用する場合は、これらのファイルを HTML で直接参照するのではなく、*.sass、*.scss ファイルをコンパイルして、CSS を出力して、出力した CSS を HTML で参照します。 S...
Azure App Service 発行プロファイルで appsettings.json を除外する
発行プロファイル 発行プロファイル(.pubxml) を使うと、簡単に、Azure App Service へアプリをディプロイできて便利です。 Visual Studio 2022 からだと、Web プロジェクトを選択し、右クリックメニューから、[発行] を選択すると、ウィザードが起動するので、対象のサービス、対象の Azure サブスクリプション、対象のリソースを選択することで、発行プロファイルを簡単に作成できます。 発行プロファイルができてしまえば、[発行] ボタンから、ワンプッシュで、Azure App Service へアプリをディプロイできます。 CLI からだと、以下のような感じです。 >dotnet publish xxxxxxx.csproj /p:...
Azure App Service でネスト構造のアプリケーション設定を定義する
ネスト構造のアプリケーション設定 アプリケーション設定で、ネスト構造のキーを構成する場合、設定方法によって、指定の仕方が異なります。 appsettings.json で、以下の構造を構成したとします。 { "Logging": { "LogLevel": { "Default": "Information", "Microsoft.Hosting.Lifetime": "Information" } }, "azCosmosDb": { "connectionString": "xxxxxx", "databaseId": "xxxxxxx" } } コード上では、階層を :で区切ってキーを指定します。 azCosmosDb:connectionString azC...
System.Drawing.Common の代替として Microsoft.Maui.Graphics を Linux で利用する
System.Drawing.Common が Windows 固有のライブラリに .NET 6 での breaking change(破壊的変更) で、System.Drawing.Common が、Windows 固有のライブラリと位置付けられました。Windows 以外の OS では、デフォルトの設定では、動作しなくなりました。ただし、ランタイム構成を変更すれば、動作するようです。 https://learn.microsoft.com/ja-jp/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only .NET 7 では、windows 以外のサポートが完全...
.NET コンソールアプリで、DI(Dependency Injection) する
.NET コンソールアプリで、DI(Dependency Injection) をするには、Generic Host を使います。 public class Program {public static void Main(string[] args){ IHost host = Host.CreateDefaultBuilder(args).ConfigureServices(services =>{ // DI services.AddTransient<IDemo001, Demo001>(); services.AddScoped<IDemo002, Demo002>(); services.AddSingleton<IDemo003, Demo003>();s...
最新の記事
- C# でも動作するマルチエージェント フレームワーク AutoGen 動的グループチャット編
- C# でも動作するマルチエージェント フレームワーク AutoGen ラウンドロビン グループチャット編
- C# でも動作するマルチエージェント フレームワーク AutoGen
- Blazor WebAssembly でのファイル ドラッグ&ドロップの実装 JavaScript との相互運用編
- Blazor WebAssembly の Bootstrap を最新にする
- Blazor WebAssembly でのファイル ドラッグ&ドロップの実装
- Entra ID においてアクセス許可へのユーザー同意を削除する
- .NET(C#) コンソールアプリで、Phi-3-vision を実行し画像を入力する
- .NET(C#) コンソールアプリで、Phi-3 を実行する
- Blazor WebAssembly から ASP.NET Core Web API を介した Azure OpenAI Service 応答ストリーム(Server-Side Events)の受信
人気の記事
- Entra ID においてアクセス許可へのユーザー同意を削除する
- .NET 8 RC1 を Visual Studio 2022 で利用する
- Hyper-V でルーターを構成する
- System.Drawing.Common の代替として Microsoft.Maui.Graphics を Linux で利用する
- .NET コンソールアプリで、構成情報を appsettings.json からロードする
- .NET 8 コンソールアプリで、DI(Dependency Injection) する
- Visual Studio 2022 で Sass(.scss) をコンパイルする
- .NET 8 リリース日と .NET ライフサイクルまとめ
- ASP.NET Core Web アプリの Bootstrap バージョンを最新にする
- Windows のライセンス認証で、エラーコード 0x80072EE2 が発生