Я перевожу свое настольное приложение 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>
c#
wpf
.net-core
folderbrowserdialog
yaugenka
источник
источник
The type or namespace name 'Forms' does not exist in the namespace 'System.Windows'
и не предлагает рекомендаций по импорту.Ответы:
Вам необходимо добавить в csproj дополнительный переключатель:
Добавьте его ниже UseWpf . Затем попробуйте восстановить. После этого вы сможете использовать пространство имен Forms.
источник
Похоже, он уже существует: https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.folderbrowserdialog?view=netcore-3.0
Для других проблем портирования вы можете использовать пакет совместимости Windows, который используется для портирования приложений на .NET Core.
Там также может быть немного больше информации, связанной с WPF и этой проблемой, так как она была вокруг некоторое время. Это может быть полезно для выбора папки диалогового окна WPF и обновлено для .NET Core.
Удачи в обновлении!
источник