WPF 앱용 .NET Core 3.0에서 System.Windows.Forms를 참조하는 방법은 무엇입니까?


12

WPF 데스크톱 앱을 .NET Framwork에서 Core 3.0으로 마이그레이션하고 있습니다. System.Windows.Forms.FolderBrowserDialog ()를 사용하고 있었고 이제이 참조를 Core 프로젝트에 추가하는 방법에 붙어 있습니다. 사용 가능한 "System.Windows.Forms"NuGet 패키지가 없습니다. Core에서 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 가 잘못되었을 수 있습니다.
Hostel

업데이트 된 질문을 확인하십시오. 페이지도 보았지만 컴파일러는 오류를 제공하고 The type or namespace name 'Forms' does not exist in the namespace 'System.Windows'참조 가져 오기 제안은 없습니다.
yaugenka

답변:


17

csproj에 추가 스위치를 추가해야합니다.

<UseWindowsForms>true</UseWindowsForms>

UseWpf 아래에 추가하십시오 . 그런 다음 다시 빌드하십시오. 그런 다음 Forms 네임 스페이스를 사용할 수 있습니다.


효과가있다! 감사합니다. 두 스위치의 존재는 어쨌든 성능에 영향을 줍니까? 양식에서 필요한 것은 FolderBrowserDialog뿐입니다.
yaugenka

고마워요! 이 문제에 대한 해결책을 찾고있었습니다. 그것은 매력처럼 작동합니다!
Ratish

1

이미 존재하는 것 같습니다 : https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.folderbrowserdialog?view=netcore-3.0

다른 포팅 문제의 경우 앱을 .NET Core로 포팅하는 데 사용되는 Windows 호환 기능 팩 을 사용할 수 있습니다.

WPF 및이 문제와 관련하여 더 많은 정보가있을 수 있습니다. 이것은 폴더 선택 대화 상자 WPF에 유용 하고 .NET Core에 대해 업데이트되었습니다.

업그레이드와 함께 행운을 빕니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.