Як посилатися на System.Windows.Forms у .NET Core 3.0 для програм WPF?


12

Я переміщую свій настільний додаток WPF з .NET Framwork до Core 3.0. Я використовував System.Windows.Forms.FolderBrowserDialog () і зараз зациклювався на тому, як додати цю посилання до основного проекту. Немає пакета NuGet "System.Windows.Forms", чи є? Чи є альтернативний спосіб відображення FolderBrowserDialog в ядрі?

Оновлення

Я створив проект Core за допомогою шаблону за замовчуванням, а потім скопіював до нього вставлені файли .cs та .xaml. Файл .csproj виглядає приблизно так:

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

Документація говорить, що клас присутній: docs.microsoft.com/pl-pl/dotnet/api/… - будь ласка, вставте файл csproj - можливо, TargetFramework невірний.
Гуртожиток

Перевірте оновлене запитання. Я бачив і сторінку, але компілятор видає помилку The type or namespace name 'Forms' does not exist in the namespace 'System.Windows'і не пропонує посилань на імпорт.
yaugenka

Відповіді:


17

Вам потрібно додати до csproj додатковий комутатор:

<UseWindowsForms>true</UseWindowsForms>

Додайте його нижче UseWpf . Потім спробуйте відновити. Після цього ви зможете використовувати простір імен Forms.


Це працює! Дякую. Чи впливає презентація обох перемикачів на продуктивність? Мені потрібні лише форми FolderBrowserDialog.
яугенка

Дуже дякую! Шукав рішення цієї проблеми. Це працює як шарм!
Рабіть

1

Схоже, це вже існує: https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.folderbrowserdialog?view=netcore-3.0

Для інших проблем з переносом, ви можете скористатися пакетом сумісності Windows, який використовується для допомоги портовим програмам до .NET Core

Там також може бути трохи більше інформації, що стосується WPF і цього питання, оскільки це існує вже деякий час. Це може бути корисним для вибору діалогового вікна папки WPF та оновлення для .NET Core.

Удачі з оновленням!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.