如何消除 .NET 5 WPF 程序中的警告 NETSDK1137?
How can I eliminate warning NETSDK1137 in a .NET 5 WPF program?
我在以前为 .NET Framework 4.5 构建但现在为 .NET 5 构建的 WPF 程序中收到以下警告。
Warning NETSDK1137 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'.
ListEditor
C:\Program Files\dotnet\sdk.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.targets 376
单击警告将在第 376 行打开文件 Microsoft.NET.Sdk.DefaultItems.targets
。该文件以注释 DO NOT MODIFY
.
开头
<!--
***********************************************************************************************
Microsoft.NET.Sdk.DefaultItems.targets
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
created a backup copy. Incorrect changes to this file will make it
impossible to load or build your projects from the command-line or the IDE.
Copyright (c) .NET Foundation. All rights reserved.
***********************************************************************************************
-->
第 376 行属于这个 XML 元素...
<Target Name="_CheckForUnnecessaryWindowsDesktopSDK"
BeforeTargets="_CheckForInvalidConfigurationAndPlatform"
Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(_TargetFrameworkVersionWithoutV), '5.0')) and '$(_MicrosoftWindowsDesktopSdkImported)' == 'true' and '$(TargetFrameworks)' == ''">
<NETSdkWarning ResourceName="UnnecessaryWindowsDesktopSDK" />
</Target>
有一个包含整个文件的项目元素。元素是这个...
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
...omissions...
</Project>
由于该元素未提及 Microsoft.NET.Sdk.WindowsDesktop SDK
Project 元素似乎不是应该放置替换 Microsoft.NET.Sdk
的点。
如何消除此警告的原因?
您的 项目,.csproj
文件,而不是 MsBuild 目标 xml。将顶行更改为以下内容:
<Project Sdk="Microsoft.NET.Sdk">
将旧项目移植到 .Net 5 时会发生这种情况。
搜索 Project Sdk=
以打开您的 .csproj
文件,
并将第一行更正为 <Project Sdk="Microsoft.NET.Sdk">
.
这应该可以修复警告。
我在以前为 .NET Framework 4.5 构建但现在为 .NET 5 构建的 WPF 程序中收到以下警告。
Warning NETSDK1137 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'.
ListEditor
C:\Program Files\dotnet\sdk.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.targets 376
单击警告将在第 376 行打开文件 Microsoft.NET.Sdk.DefaultItems.targets
。该文件以注释 DO NOT MODIFY
.
<!--
***********************************************************************************************
Microsoft.NET.Sdk.DefaultItems.targets
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
created a backup copy. Incorrect changes to this file will make it
impossible to load or build your projects from the command-line or the IDE.
Copyright (c) .NET Foundation. All rights reserved.
***********************************************************************************************
-->
第 376 行属于这个 XML 元素...
<Target Name="_CheckForUnnecessaryWindowsDesktopSDK"
BeforeTargets="_CheckForInvalidConfigurationAndPlatform"
Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(_TargetFrameworkVersionWithoutV), '5.0')) and '$(_MicrosoftWindowsDesktopSdkImported)' == 'true' and '$(TargetFrameworks)' == ''">
<NETSdkWarning ResourceName="UnnecessaryWindowsDesktopSDK" />
</Target>
有一个包含整个文件的项目元素。元素是这个...
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
...omissions...
</Project>
由于该元素未提及 Microsoft.NET.Sdk.WindowsDesktop SDK
Project 元素似乎不是应该放置替换 Microsoft.NET.Sdk
的点。
如何消除此警告的原因?
您的 项目,.csproj
文件,而不是 MsBuild 目标 xml。将顶行更改为以下内容:
<Project Sdk="Microsoft.NET.Sdk">
将旧项目移植到 .Net 5 时会发生这种情况。
搜索 Project Sdk=
以打开您的 .csproj
文件,
并将第一行更正为 <Project Sdk="Microsoft.NET.Sdk">
.
这应该可以修复警告。