Jak odwoływać się do System.Windows.Forms w .NET Core 3.0 dla aplikacji WPF?


12

Przeprowadzam migrację aplikacji komputerowej WPF z .NET Framwork do Core 3.0. Korzystałem z System.Windows.Forms.FolderBrowserDialog () i teraz utknąłem, jak dodać to odniesienie do projektu Core. Nie ma dostępnego pakietu NuGet „System.Windows.Forms”, prawda? Czy jest jakiś alternatywny sposób wyświetlania FolderBrowserDialog w rdzeniu?

Aktualizacja

Utworzyłem projekt Core przy użyciu domyślnego szablonu, a następnie skopiowałem do niego wklejone pliki .cs i .xaml. Plik .csproj wygląda następująco:

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <UseWPF>true</UseWPF>
  </PropertyGroup>

Dokumentacja mówi, że klasa jest obecna: docs.microsoft.com/pl-pl/dotnet/api/… - wklej plik csproj - może TargetFramework jest nieprawidłowy.
— Hostel

Sprawdź zaktualizowane pytanie. Widziałem też stronę, ale kompilator podaje błąd The type or namespace name 'Forms' does not exist in the namespace 'System.Windows'i nie sugeruje importu referencji.
— yaugenka

Odpowiedzi:


17

Musisz dodać do csproj dodatkowy przełącznik:

<UseWindowsForms>true</UseWindowsForms>

Dodaj go poniżej UseWpf . Następnie spróbuj odbudować. Po tym powinieneś być w stanie korzystać z przestrzeni nazw Forms.


To działa! Dziękuję Ci. Czy obecność obu przełączników w jakikolwiek sposób wpływa na wydajność? Potrzebuję tylko folderu FolderBrowserDialog z formularzy.
— yaugenka

Wielkie dzięki! Szukałem rozwiązania tego problemu. To działa jak urok!
— Ratish

1

Wygląda na to, że już istnieje: https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.folderbrowserdialog?view=netcore-3.0

W przypadku innych problemów z portowaniem możesz skorzystać z pakietu zgodności z systemem Windows, który jest używany do pomocy w przenoszeniu aplikacji do platformy .NET Core

Może być też trochę więcej informacji związanych z WPF i tym problemem, ponieważ istnieje on już od jakiegoś czasu. Może to być pomocne Okno dialogowe Wybierz folder WPF i zaktualizowane do wersji .NET Core.

Powodzenia w aktualizacji!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.