「NETSDK1137:Microsoft.NET.Sdk.WindowsDesktop SDK を使用する必要はなくなりました。ルート プロジェクト要素の SDK 属性を 'Microsoft.NET.Sdk' に変更することをご検討ください。」 警告を解消する - C#

「NETSDK1137:Microsoft.NET.Sdk.WindowsDesktop SDK を使用する必要はなくなりました。」警告を対処する方法を紹介します。

概要

古い.NETのバージョン(.NET 5 / .NET Core 3.1)から新しい.NETのバージョンにアップデートすると、 「NETSDK1137:Microsoft.NET.Sdk.WindowsDesktop SDK を使用する必要はなくなりました。」警告が表示される場合があります。 この警告を解消する手順を紹介します。

警告メッセージ

古い.NETのバージョン(.NET 5 / .NET Core 3.1)から新しい.NETのバージョンにアップデートすると、 次の警告メッセージが表示されます。
警告メッセージ
NETSDK1137:Microsoft.NET.Sdk.WindowsDesktop SDK を使用する必要はなくなりました。ルート プロジェクト要素の SDK 属性を 'Microsoft.NET.Sdk' に変更することをご検討ください。



英語のメッセージでは次の通りです。
Warning Message
It is no longer necessary to use the Microsoft.NET.Sdk.WindowsDesktop SDK. Consider changing the Sdk attribute of the root Project element to 'Microsoft.NET.Sdk'.

対処法

.NET 6以降では、WindowsDesktop SDKを使用する必要がなくなるため、.NET SDKに変更します。

プロジェクトファイルを編集します。ソリューションエクスプローラーでプロジェクトのノードをクリックして選択し、右クリックします。 ポップアップメニューが表示されますので、[プロジェクトファイルの編集]の項目をクリックします。


プロジェクトファイルのコードが表示されます。


プロジェクトファイルを編集します。先頭の Project タグの Sdk属性の値を Microsoft.NET.Sdk.WindowsDesktop から Microsoft.NET.Sdk に変更します。
プロジェクトファイル : 修正前
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">

  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net6.0-windows</TargetFramework>
    <UseWindowsForms>true</UseWindowsForms>
  </PropertyGroup>

  <ItemGroup>
    <!-- 省略 -->
  </ItemGroup>

</Project>
プロジェクトファイル : 修正後
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net6.0-windows</TargetFramework>
    <UseWindowsForms>true</UseWindowsForms>
  </PropertyGroup>

  <ItemGroup>
    <!-- 省略 -->
  </ItemGroup>

</Project>

修正後プロジェクトをビルドすると、警告メッセージが表示されなくなります。

著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
掲載日: 2022-12-01
iPentec all rights reserverd.