WPF(.NET Core)の機能を利用する DLL プロジェクトの作成についての備忘録です。
2019年11月17日時点では DLL プロジェクトのテンプレートで .NET Core 用のものを選ぶと、そのままでは WPF(.NET Core)用のライブラリ参照ができないので、プロジェクト ファイルの編集を行う必要があります。
Visual Studio 2019 で「クラスライブラリ(.NET Core)」のテンプレートを選択してソリューションを作成し、System.Windows.Input.CommandManager クラスを参照しようとすると、 エラー 「現在のコンテキストに存在しません」と表示されます。
この状態でのプロジェクト ファイルは次のようになっています(プロジェクト ファイルの表示はソリューション エクスプローラー上でプロジェクト名を右クリックして「プロジェクト ファイルの編集」を選択する)。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
</Project>
これを次のように変更します。
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
<UseWPF>true</UseWPF>
</PropertyGroup>
</Project>
これで参照ができるようになります。