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.