.Net core 3.1クラスライブラリでレガシー.Net Framework dllを使用しているシナリオがあります。内部的に.Net Framework dllは.Netコアが解決できないSystem.Windows.Forms.dllを使用しています。
実行時にエラーメッセージが表示される
ファイルまたはアセンブリ 'System.Windows.Forms、Version = 4.0.0.0、Culture = neutral、PublicKeyToken = b77a5c561934e089'を読み込めませんでした。指定されたファイルが見つかりません。
理想的な世界では、クラスライブラリにSystem.Windows.Forms.dllを追加しても意味がありませんが、.NetコアクラスライブラリにSystem.Windows.Formsとその依存関係を追加する方法はあります。
注:System.Windows.Forms.dllを手動で追加しようとしましたが、うまくいきませんでした。
私は解決を得ました、フレームワーク参照によってこれを達成できます。
<FrameworkReference Include="Microsoft.WindowsDesktop.App" />
詳細については、参照してください https://natemcmaster.com/blog/2019/01/09/netcore-primitives-3/