.NET Core 3.0์์ Windows Forms์ WPF๊ฐ ์ฒ์ ๋์
๋์์ ๋์๋ Microsoft.NET.Sdk.WindowsDesktop
ํ๋ก์ ํธ SDK๋ฅผ ์ฌ์ฉํ์ต๋๋ค.
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
<Nullable>enable</Nullable>
</Project>
๊ทธ๋ฌ๋ค๊ฐ .NET 5์์ Microsoft.NET.Sdk
๋ฅผ ์ฌ์ฉํ๊ณ , WindowsDesktop ๊ด๋ จ ์์ฑ๋ค์ Windows Forms๋ WPF๋ฅผ ์ฌ์ฉํ๋ฉด ์๋์ผ๋ก ๋ก๋๋๋ ๊ฒ์ผ๋ก ๋ฐ๋์์ต๋๋ค.
<Project Sdk="Microsoft.NET.Sdk">
<OutputType>WinExe</OutputType>
<TargetFramework>net5.0-windows</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
<Nullable>enable</Nullable>
</Project>
.NET 5 ์ด์์ ํ๊ฒํ๋ ํ๋ก์ ํธ์์ Microsoft.NET.Sdk.WindowsDesktop
์ ์ฌ์ฉํ๊ฒ ๋๋ฉด NETSDK1137 ๊ฒฝ๊ณ ๊ฐ ๋ฐ์ํฉ๋๋ค.
(๋งํฌ์๋ ์ค๋ฅ๋ผ๊ณ ๋์ ์์ง๋ง ์ด๋ ์๋ชป๋ ๊ฒ์ ๋๋ค. ์ค์ ๋ก๋ ๊ฒฝ๊ณ ๊ฐ ๋ง์ต๋๋ค.)
ํ์ง๋ง .NET Framework๋ .NET Core 3์ ํ๊ฒํ๊ฒ ๋๋ฉด ์ด๋ฐ ๊ฒฝ๊ณ ๊ฐ ๋์ค์ง ์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ฌ๊ธฐ์ ๊ถ๊ธ์ฆ์ด ์๊ธธ ์ ์์ต๋๋ค. โ๊ทธ๋ฌ๋ฉด ๊ธฐ์กด .NET Framework๋ .NET Core 3 ํ๋ก์ ํธ๋ Microsoft.NET.Sdk.WindowsDesktop
์ ์จ์ผํ๋?โ ์ ๊ฐ ๊ทธ๋ฌ๊ฑฐ๋ ์.
ํ์ง๋ง ์ค์ ๋ก๋ ๊ทธ๋ ์ง ์์ต๋๋ค. Microsoft.NET.Sdk
์จ๋ ์๋ง ์๋ํฉ๋๋ค. ๊ทธ ์ด์ ๋
์ ๋งํฌ๋ฅผ ๋ณด์๋ฉด WPF๋ Windows Forms๋ฅผ ์ฌ์ฉํ๊ณ , .NET Core 3.0 ์ด์์ ํ๊ฒํ๊ฑฐ๋, .NET Framework๋ฅผ ํ๊ฒํ๋ฉด ImportWindowsDesktopTargets
์์ฑ์ true
๋ก ์ค์ ํ๊ฒ ๋์ด์์ต๋๋ค. ์ฆ, ์ด๋ค ํ๋ ์์ํฌ๋ฅผ ์ฐ๋ ๊ทธ๋ฅ Microsoft.NET.Sdk
์จ๋ WindowsDesktop ์์ฑ์ ์๋ง ๋ก๋๋ฉ๋๋ค.
์ ๋ .NET Core 3์ ์ง์ ๋๋์ง ํ์ฐธ ๋์ผ๋๊น ๋์ด๊ฐ๊ณ , ์ต์ํ .NET Framework๋ฅผ ํ๊ฒํ๋ฉด ๊ฒฝ๊ณ ๊ฐ ๋๊ฒ๋ ํด์ผ ํ๋ค๊ณ ๋ด ๋๋ค.
์จ๋ ๊ฒฐ๋ก ์ .NET Framework๋ฅผ ํ๊ฒํ๋ .NET Core๋ฅผ ํ๊ฒํ๋ Windows Forms๋ WPF๋ฅผ ์จ๋ Microsoft.NET.Sdk ์ฐ๋ฉด ๋ฉ๋๋ค.