クラスライブラリを NuGet パッケージ化する方法、パッケージ参照、dotnet publish による発行、フレームワーク依存型と自己完結型の違い、.NET がアセンブリを見つける仕組みを整理します。
クラスライブラリを作成してクライアントアプリから利用する基本手順、リフレクションによるマニフェスト確認、簡単な中間言語の観察、internal 型を別アセンブリへ公開する方法を整理します。
構成ファイルの役割、複数設定ファイルの読み込み、オブジェクトへのバインド、追加の設定ソースを使う方法をサンプルコード付きで整理します。
アセンブリが単なる DLL ではなく、実行コード、型メタデータ、参照情報、リソースを含む自己記述的な単位であることを整理し、クラスライブラリ、コンソールアプリ、対象フレームワークの違いを説明します。
Chapter 16 の前半として、カスタム名前空間の定義、名前衝突の回避、エイリアス、入れ子名前空間、プロジェクトの既定名前空間、アセンブリの基本的な役割を整理します。
async/await の基本から、ConfigureAwait、非同期メソッドの戻り値、同期メソッドからの呼び出し、catch/finally 内の await、キャンセル、IAsyncEnumerable、Parallel.ForEachAsync までをサンプルコードで整理します。
Thread を直接扱う代わりに、Task Parallel Library、Parallel.ForEach、Task、CancellationToken、PLINQ を使って並列処理を書く方法を整理します。
複数スレッドから共有データを扱うときの問題を、lock、Monitor、Interlocked でどう防ぐかを整理し、Timer コールバックと ThreadPool の基本も確認します。
Chapter 15 の前半に対応する内容として、並行処理の問題、スレッド同期の必要性、Thread クラス、ThreadStart / ParameterizedThreadStart、フォアグラウンド/バックグラウンドスレッドを整理します。
AppDomain に代わる現代的なアセンブリ分離の仕組みとして、AssemblyLoadContext の役割、Default コンテキスト、カスタム Load Context、collectible なコンテキストによるアンロードを整理します。