如何找到导致 NETSDK1136 的引用

How do I find the reference that is causing NETSDK1136

我希望我的项目只使用 Target Framework net5.0

但是当我构建时出现错误

Error NETSDK1136 The target platform must be set to Windows (usually by including '-windows' in the TargetFramework property) when using Windows Forms or WPF, or referencing projects or packages that do so. JT.Module C:\Program Files\dotnet\sdk.0.102\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.targets

我搜索了整个项目,没有看到任何窗体或控件。 我认为引用的库中没有任何内容

如何找到参考文献? 我注意到错误提到 sdk 6.0.102 那是从哪里来的? 项目顶行是

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

SDK 没有出现在项目的其他地方。

我是运行VS2022 17.1.0

[更新]

我注意到一条消息

This project is targeting a version of .NET which is not installed.

所以我点击安装并退出 VS

然而问题并没有解决。

我在控制面板程序和功能中注意到以下内容。

我删除了版本 6 SDK

我决定创建一个干净的新项目并将代码从旧的移到新的。

我注意到旧项目显示了新项目中不存在的 Imports 文件夹。

我不知道如何删除它。

[更新]

我发现我在调用MessageBox.Show()

所以搜索这个有帮助。 同时搜索 system.windows.forms

Microsoft.NET.Sdk.DefaultItems.targets文件中,替换

<TargetFramework>net5.0</TargetFramework> 

<TargetFramework>net5.0-windows</TargetFramework>

参见 this detailed info

实用的答案是搜索 Windows.System.Forms