DISMで関連付けをインポートするときに「エラー: 5 既定の OEM 関連付けファイルとしてイメージに保存できませんでした。」と表示された時の対処

Windowsにログオンしているユーザで関連付けを修正して、今後新規でログオンするユーザ全てに反映するためにデフォルトユーザに関連付けを上書きをよくします。
現在Administratorでログオンしている場合に、下記コマンドで関連付けをエクスポートして、デフォルトにインポートといったシナリオです。

Dism /Online /Export-DefaultAppAssociations:”C:\AppAssoc.xml”
Dism /Online /Import-DefaultAppAssociations:”C:\AppAssoc.xml”

インポート時に、下記のようなアラートが表示される場合があります。

展開イメージのサービスと管理ツール
バージョン: 10.0.22621.1

イメージのバージョン: 10.0.22621.963

エラー: 5

C:\AppAssoc.xml を既定の OEM 関連付けファイルとしてイメージに保存できませんでした。
詳細については、ヘルプを参照してください。

DISM ログ ファイルは C:\Windows\Logs\DISM\dism.log にあります

このエラーは、関連付けを保存しているOEMDefaultAssociations.xmlに書き込みができなかった場合に良く表示されます。対処としては、エクスプローラーで C:\Windows\System32 を開き、OEMDefaultAssociations.xmlを削除します。

ファイル削除後、もう一度インポートのコマンド
Dism /Online /Import-DefaultAppAssociations:”C:\AppAssoc.xml”
を実行すれば、インポートも成功して、削除したOEMDefaultAssociations.xmlファイルも再作成されます。

その後、新規ユーザでログオンしてみて、関連付けや既定のアプリが意図したものになっているか確認して完了です。

Visual Studio 2022でビルド時に「機能 ‘再帰的パターン’ は C# 7.3 では使用できません。8.0 以上の言語バージョンをお使いください。」のエラーが出た時の対処

ChatGPTって便利ですよね。自分ではできないプログラミングも、チャット形式でヒアリングしていくうちに完成します。
ただChatGPTは実環境にてすぐに実行できるものを生成してくれるとは限りません。今回の場合は下記エラーが表示されました。

重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態
エラー (アクティブ) CS8370 機能 '再帰的パターン' は C# 7.3 では使用できません。8.0 以上の言語バージョンをお使いください。 Test C:\Users\User\source\repos\Test\Test\ChatTest.cs 83

Visual Studio 2022にて新規プロジェクトを作成すると、C# 7.3として作成されてしまい、ChatGPTが作成したプログラムがC# 8.0のものだったので、上記エラーが表示されたようです。

対応としては、C# Project file (*.csproj)をメモ帳などで開きます。

そうすると <TargetFrameworkVersion>v4.8</TargetFrameworkVersion> といった.Net Frameworkのバージョン指定があるので、その下に改行して <LangVersion>8.0</LangVersion> を追加してあげればビルドできます。

自分の実力以上のことをしようとすると、思わぬところで躓きますね(笑)