2023-05-06: Temporal .NET, Bob’s Used Books, .NET mobile Debugging in VS Code

Published on Saturday, 06 May 2023

トピックス

Introducing Temporal .NET – Deterministic Workflow Authoring in .NET

https://temporal.io/blog/introducing-temporal-dotnet

Temporal ワークフローエンジンで .NET のサポート追加のアナウンス。

記事では C# でのワークフローの実装と呼び出し例のコードや仕組みについてなどを紹介している。

現在 .NET SDK はアルファーリリースであり、API は変更の可能性があるが機能はすべて実装され、ベータと GA が近く公開予定とのこと。

Introducing Bob’s Used Books—a New, Real-World, .NET Sample Application | Amazon Web Services

https://aws.amazon.com/jp/blogs/aws/introducing-bobs-used-books-a-new-real-world-net-sample-application/

AWS が .NET 6 で構築した Bob’s Used Books と呼ばれる架空の中古書店のコマースサイトのサンプルアプリケーションを公開した。

このアプリケーションはコマースサイトの一連の機能を実装し、Amazon Web Service の各種サービスを利用するサンプルとして作られている。

今後 App Runner や Amazon EKS などにデプロイするコンテンツなどを用意する予定であるとしている。

Announcing .NET mobile Debugging in VS Code. Mobile development in VS Code with Uno Platform or .NET MAUI.

https://platform.uno/blog/announcing-net-mobile-debugging-in-vs-code-mobile-development-in-vs-code-with-uno-platform-or-net-maui/

Uno Platform の Visual Studio Code 向けの拡張機能でモバイル開発がサポートされた。

このサポートにより Windows, macOS, Linux での Visual Studio Code を利用した Uno Platform および .NET MAUI のビルドとデバッグが行えるようになる。

Release 2.2.6 · mysql-net/MySqlConnector

https://github.com/mysql-net/MySqlConnector/releases/tag/2.2.6

Async MySQL Connector 2.2.6 がリリースされた。

TransactionScope 内でロールバック時に発生したデッドロックの例外によってメモリーリークする問題などいくつかの修正が含まれている。

Release 2.6.111 · StackExchange/StackExchange.Redis

https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.6.111

StackExchange.Redis 2.6.111 がリリースされた。

Envoy プロキシーを使用した際のマルチスロットコマンドの対応やいくつかの不具合と改善が含まれている。

Release Release v2.53.0 · grpc/grpc-dotnet

https://github.com/grpc/grpc-dotnet/releases/tag/v2.53.0

gRPC (grpc-dotnet) v2.53.0 がリリースされた。

エラーメッセージの改善や .NET 6 でのトリミング有効時の例外の修正などいくつかの修正が含まれている。

C# Support in Fleet: Solution View, Unit Testing, and More! | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2023/05/04/csharp-support-in-fleet-solution-view-unit-testing-and-more/

JetBrains Fleet の C# サポートにソリューションビューやユニットテストが追加された。

記事ではソリューションビューとユニットテスト関連の機能についてのほか、マルチターゲットフレームワークプロジェクトのサポートの向上やソリューションプロパティー、ショートカットキーマップの追加、実行構成の変更対応の必要について触れている。

Rider 2023.2 Roadmap | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2023/05/03/rider-2023-2-roadmap/

JetBrains Rider 2023.2 のロードマップについて。

  • 言語サポートと改善
  • ビルドツールウィンドウの再構築
  • 新しい UI
  • 新しいソリューションウィザード
  • ゲーム開発
    • Unity
      • DOTS サポートの継続
      • UI Toolkit
      • シェーダー
    • Unreal Engine
      • パフォーマンスの改善
      • デバッグ
  • 設定の同期
  • その他改善

ReSharper 2023.2 Roadmap | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2023/05/03/resharper-2023-2-roadmap/

JetBrains ReSharper 2023.2 のロードマップについて。

  • 言語サポートと改善
  • パフォーマンス
  • プレディクティブ デバッガー
  • コードスタイル

Announcing a new version of the .NET Upgrade Assistant with support for .NET MAUI and Azure Functions! - .NET Blog

https://devblogs.microsoft.com/dotnet/upgrade-assistant-general-availability/

.NET Upgrade Assistant の新しいバージョンがリリースされた。

このバージョンでは .NET MAUI や Azure Functions のアップグレードに対応している。

  • .NET 8 のサポート
  • Xamarin.Forms から .NET MAUI へのアップグレード
  • Azure Functions のアップグレード
  • UWP から WinUI へのアップグレード
  • ARM64 のサポート

記事では機能の強化についてのほか、.NET MAUI と Azure Functions のアップグレードについて解説している。

Announcing Copilot Chat | Semantic Kernel

https://devblogs.microsoft.com/semantic-kernel/announcing-copilot-chat/

Semantic Kernel に Copilot Chat という仕組みが追加された。

Copilot Chat を使用することで LLM ベースのカスタムのチャットボットをアプリケーションに組み込むことができるようになる。

アーティクル、スライドなど

Real-time charts with Blazor, SignalR and ApexCharts

https://blog.genezini.com/p/real-time-charts-with-blazor-signalr-and-apexcharts/

Blazor WebAssembly と SignalR、ApexCharts を使用したリアルタイムなチャートのアプリケーションの実装について。

Unlock the Power of NuGet: Essential Packages for .NET REST API or Microservices

https://levelup.gitconnected.com/unlock-the-power-of-nuget-essential-packages-for-net-rest-api-or-microservices-b1c25cfbdefa

.NET サーバーアプリケーションで定番の NuGet パッケージの紹介まとめ。

Running Vite with ASP.NET Core Web Applications

https://khalidabuhakmeh.com/running-vite-with-aspnet-core-web-applications

ASP.NET Core Web アプリケーションでフロントエンドに Vite (TypeScript など) を使用して開発するための手順について。

Uploading Large Files in ASP.NET Core - Code Maze

https://code-maze.com/aspnetcore-upload-large-files/

ASP.NET Core での巨大なファイルのアップロードの取り扱いについて。

Moving .NET Apps to the Cloud

https://www.infoq.com/presentations/net-apps-cloud/

.NET アプリケーションをクラウドに移行することについてのセッションの書き起こし。

リフトアンドシフトやコンテナープラットフォーム、クラウドネイティブで注意すべき点、サーバーレスについてやポータビリティなど。

JetBrains .NET Day Online 2023 – Call for Speakers | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2023/05/04/jetbrains-net-day-online-2023-call-for-speakers/

9月26日に開催される JetBrains .NET Day Online 2023 のスピーカー募集について。(英語)

Semantic KernelでGTP-4でのチャットアプリを実装する

https://zenn.dev/tomokusaba/articles/4fcc3f865036ad

Blazor Server と Semantic Kernel で Azure OpenAI Services の GPT-4 を使用してチャットアプリを実装する方法について。

カスタムコントロールで自由に描画する(C# / WinUI 3)

https://zenn.dev/shinta0806/articles/custom-control-draw

WinUI 3 で自由な描画を行うカスタムコントロールを実装する方法について。

SignalRをPostmanでデバッグする

https://zenn.dev/satoppepper/articles/8bdcff559d6c86

Postman を使用して SignalR で通信するアプリケーションとメッセージをやり取りしてデバッグする手順について。

Web API development in Visual Studio 2022 - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/web-api-development-in-visual-studio-2022/

Visual Studio 2022 version 17.6 のプレビューで強化された Web API 開発についての紹介

  • クライアントが統合された HTTP エディター
  • API エンドポイントエクスプローラー
  • スキャフォールディング
  • Visual Studio での Entity Framework ツール

日本マイクロソフトの大田さん (@okazuki) による Semantic Kernel の記事

JWT Authentication with C# .NET

https://dev.to/rmaurodev/jwt-authentication-with-c-net-1h4c

ASP.NET Core で JWT を使用した Bearer 認証を実装する手順の紹介。

.NET Annotated Monthly | May 2023 | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2023/05/02/net-annotated-monthly-may-2023/

JetBrains による3月の .NET 関連情報まとめ。

How to lock orientation at runtime on iOS 16 with .NET MAUI and Xamarin.Forms

https://msicc.net/how-to-lock-orientation-at-runtime-on-ios-16-with-net-maui-and-xamarin-forms/

iOS 16 上での .NET MAUI および Xamarin.Forms アプリケーションで実行時に回転ロックを行う方法について。

VerificationException in .NET Framework when using structs

https://minidump.net/verificationexception-in-net-framework-when-using-structs-6269eb3df448

.NET Framework では値型を readonly フィールドにした上で部分信頼状態で実行すると VerificationException をスローするという問題の原因とその回避方法。

Calling internal ctors in your unit tests

https://haacked.com/archive/2023/05/01/calling-internal-ctors/

ユニットテストで主に外部のライブラリーなどの型を使う場合に非公開なコンストラクターを呼び出すという手段について。

.netstandardなアセンブリの中で.NET Frameworkや.NETのAPIをフルに使用する

https://zenn.dev/benutomo/articles/3365c3dc61a9d3

.NET Standard 向けにビルドされたアセンブリーから .NET Framework や .NET (Core) の API を使用する方法について。

入り口となる .NET Standard 向けのビルドを用意して、それぞれのランタイム向けのアセンブリーを読み込み呼び出すという手法。

Uno Platform for Figma Preview 5: Enhanced Features for Designers and Developers

https://www.infoq.com/news/2023/04/uno-platform-figma-plugin-5/

Uno Platform の Figma 向けプラグインの Preview 5 での機能強化された点についての紹介。

Deep Dive

Constant folding for SIMD comparisons by EgorBo · Pull Request #85584 · dotnet/runtime

https://github.com/dotnet/runtime/pull/85584

SIMD 比較での定数畳み込みの PR。

Allocate Array.Empty on a frozen segment (NonGC heap) by EgorBo · Pull Request #85559 · dotnet/runtime

https://github.com/dotnet/runtime/pull/85559

Array.Empty<T> のオブジェクトは GC 対象とは別のセグメントに確保されるようになる、という話。

Introducing Time abstraction - What's new in .NET 8 Preview 4 [WIP] · Issue #8234 · dotnet/core

https://github.com/dotnet/core/issues/8234#issuecomment-1530525108

時間に関する抽象化 API である TimeProvider が .NET 8 Preview 4 に。