WPF が .NET Core 3 で動くようになりましたね。
サンプルコードを動かそうとして少しハマったのでメモを残します。
サンプルコードの取得
https://github.com/Microsoft/wpf-samples (opens in a new tab) 本家のWPFのサンプルを拝借。
それぞれのプロジェクトにおいて、 *.netcore.csproj
という名前で .NET Core 向けのプロジェクトファイルが定義されていますが、
このままではビルド時にエラーが発生して動作しません。
手っ取り早く動くようにするには、以下の通り3つの作業を行います。 一時的な対応で非常に乱暴なものなので、製品として広く提供するものを開発される方はご注意ください。
実施すること
1. .NET Framework 用のプロジェクトファイルを削除
*.netcore.csproj
を残して、ほかのプロジェクトファイルは削除してしまいます。
2. プロジェクトファイルの書換
ビルドを実行すると、以下のようなエラーが出ます。
error MC1003: Project file cannot specify more than one ApplicationDefinition element.
error BG1003: The project file contains a property value that is not valid.
どうも余分な定義があるのが原因のようなので、必要最低限の定義に変更します。
*.netcore.csproj
3. AssemblyInfo ファイルの削除
*Attribute 属性が重複しています
というエラーが6件くらい出ていましたので、
Properties/AssemblyInfo.cs ファイル自体をごっそり消してしまいます。
結果
あとは dotnet run
するだけで起動するはずです。