Bagaimana merujuk System.Windows.Forms di .NET Core 3.0 untuk aplikasi WPF?

12

Saya memigrasikan aplikasi desktop WPF saya dari .NET Framwork ke Core 3.0. Saya menggunakan System.Windows.Forms.FolderBrowserDialog () dan sekarang saya terjebak pada cara menambahkan referensi ini ke proyek Core. Tidak ada paket NuGet "System.Windows.Forms" tersedia, kan? Apakah ada cara alternatif untuk menampilkan FolderBrowserDialog di Core?

Memperbarui

Saya membuat proyek Core menggunakan template default dan kemudian menyalin file .cs dan .xaml yang disisipkan ke dalamnya. File .csproj terlihat seperti ini:

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <UseWPF>true</UseWPF>
  </PropertyGroup>
yaugenka
sumber
Dokumentasi mengatakan bahwa kelas hadir: docs.microsoft.com/pl-pl/dotnet/api/… - silakan tempelkan file csproj - mungkin TargetFramework salah.
Hostel
Silakan periksa pertanyaan yang diperbarui. Saya melihat halaman juga, tetapi kompiler memberikan kesalahan The type or namespace name 'Forms' does not exist in the namespace 'System.Windows'dan tidak ada referensi impor saran.
yaugenka

Jawaban:

17

Anda perlu menambahkan ke sakelar tambahan csproj:

<UseWindowsForms>true</UseWindowsForms>

Tambahkan di bawah UseWpf . Kemudian cobalah membangun kembali. Setelah ini, Anda harus dapat menggunakan Formulir namespace.

Asrama
sumber
Berhasil! Terima kasih. Apakah keadaan kedua switch memengaruhi kinerja? Hanya FolderBrowserDialog yang saya butuhkan dari Formulir.
yaugenka
Terima kasih banyak! Sedang mencari solusi untuk masalah ini. Itu bekerja seperti pesona!
Ratish
1

Sepertinya sudah ada: https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.folderbrowserdialog?view=netcore-3.0

Untuk masalah porting lain, Anda mungkin ingin menggunakan Paket Kompatibilitas Windows yang digunakan untuk membantu aplikasi port ke .NET Core

Mungkin juga ada lebih banyak informasi di luar sana terkait dengan WPF dan masalah ini, karena sudah ada untuk sementara waktu. Ini mungkin membantu Pilih dialog folder WPF , dan diperbarui untuk .NET Core.

Semoga berhasil dengan peningkatan Anda!

n234
sumber