首页 > 解决方案 > 需要帮助将 winform 迁移到 net 5

问题描述

我正在将一个 winform 应用程序从 net core 3.1 移植到 net 5 并收到以下错误。

严重性代码 描述 项目文件行抑制状态错误 NETSDK1136 使用 Windows 窗体或 WPF 或引用这样做的项目或包时,目标平台必须设置为 Windows(通常通过在 TargetFramework 属性中包含“-windows”)。PublicOutput.core C:\Program Files\dotnet\sdk\5.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.targets 369

这是 Microsofts.net.sdk.DefaultItems.targets 所指的部分。

  <Target Name="_CheckForInvalidWindowsDesktopTargetingConfiguration"
        BeforeTargets="_CheckForInvalidConfigurationAndPlatform"
        Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(_TargetFrameworkVersionWithoutV), '5.0')) and ('$(UseWindowsForms)' == 'true' or '$(UseWPF)' == 'true')">
    <NETSdkError Condition="'$(TargetPlatformIdentifier)' != 'Windows'"
                 ResourceName="WindowsDesktopTargetPlatformMustBeWindows" >

我不明白错误,错误发送给我的链接没有帮助

https://docs.microsoft.com/en-us/visualstudio/?f1url=%3FappId%3DDev16IDEF1%26l%3DEN-US%26k%3Dk(NETSDK1136)%26rd%3Dtrue&view=vs-2019

我已将目标框架设置为以下内容:

    <TargetFramework>net5.0</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>

任何帮助,将不胜感激

标签: c#winforms.net-coremigration.net-5

解决方案


错误很明显:

使用 Windows 窗体或 WPF 时,目标平台必须设置为 Windows(通常通过在 TargetFramework 属性中包含“ -windows ”),

所以更改<TargetFramework>net5.0</TargetFramework>文档<TargetFramework>net5.0-windows</TargetFramework>中所写


推荐阅读