System.Windows.Forms 참조 추가

heyme·2024년 4월 9일

결국 추가는 안하고 다른 함수를 사용했지만 어떻게 추가했는지 남기기.

System.Windows.Forms는 주로 .NET Framework 기반의 프로젝트에서 사용되는 Windows Forms 어플리케이션을 위한 라이브러리입니다. .NET Core 또는 .NET 5/6와 같은 더 최신의 .NET 버전에서는 기본적으로 이러한 프레임워크 어셈블리를 참조 관리자에서 직접 볼 수 없을 수도 있습니다.

만약 당신의 프로젝트가 .NET Core 또는 .NET 5/6를 사용하고 있고 System.Windows.Forms를 사용하고 싶다면, 프로젝트 파일(.csproj)을 수정하여 Windows Forms를 사용할 수 있도록 설정할 필요가 있습니다. 이렇게 하면 참조 관리자에서 직접 추가하지 않아도 됩니다.

솔루션 탐색기에서 프로젝트 파일을 우클릭하고 프로젝트 파일 편집(Edit Project File)을 선택합니다.

프로젝트 파일(.csproj) 내에 다음 항목을 추가합니다:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net6.0-windows</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
    <UseWPF>true</UseWPF>
    <UseWindowsForms>true</UseWindowsForms> <!-- 여기를 추가합니다 -->
  </PropertyGroup>

  <ItemGroup>
    <COMReference Include="{215d64d2-031c-33c7-96e3-61794cd1ee61}">
      <WrapperTool>tlbimp</WrapperTool>
      <VersionMinor>4</VersionMinor>
      <VersionMajor>2</VersionMajor>
      <Guid>215d64d2-031c-33c7-96e3-61794cd1ee61</Guid>
    </COMReference>
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="System.Reactive.Windows.Forms" Version="6.0.0" />
  </ItemGroup>

</Project>

위 코드에서 의 값을 프로젝트의 타겟 프레임워크 버전에 맞게 조정해야 합니다. 예를 들어, .NET 6을 사용하는 경우 net6.0-windows로 변경합니다.

파일을 저장하고 프로젝트를 다시 로드합니다.

이렇게 하면 System.Windows.Forms를 사용할 수 있게 됩니다. 하지만, WPF 프로젝트에서 Windows Forms 컨트롤을 사용하려면 추가적인 설정과 코드가 필요할 수 있으며, 일반적으로 WPF와 Windows Forms는 서로 다른 UI 프레임워크로, 각각의 컨트롤과 컴포넌트를 섞어 사용하는 것은 권장되지 않습니다.

참고로, System.Windows.Forms 관련 코드를 WPF 애플리케이션에 사용하고 싶다면, System.Windows.Forms의 기능이 필요한 특정 부분에서만 사용하고, UI는 가능한 WPF의 컨트롤과 컴포넌트를 활용하는 것이 좋습니다.

+ 레이아웃 창 사라졌을때,
xml 파일에서 오른쪽 마우스 클릭, 디자이너 보기(ctrl+F7) 누르기

0개의 댓글