如何修复“错误 MSB4236:找不到指定的 SDK 'Microsoft.NET.Sdk'”?

问题描述

我们已经搜索了此问题的解决方案,但没有成功……网络上报告了大量类似的错误,但没有一个建议有效。

我们在 tfs 中有一个在本地编译良好的 web 作业项目,但是当我们尝试在 devops 中构建它时,它失败并显示错误

....WebJob.csproj(0,0): Error MSB4236: The SDK 'Microsoft.NET.Sdk' specified Could not be found.

该项目面向 .NETframework 4.8。
( 如果我编辑项目文件,第一行会显示这一点,这是错误提到的行号(0,0):

<Project Sdk="Microsoft.NET.Sdk;Microsoft.NET.Sdk.Publish"\>

我如何找出它正在寻找的 Microsoft.net.sdk 版本? devops 记录的错误没有给我我可以看到的信息。

我查看了该项目以查看它引用的内容,但它没有任何引用,而是具有依赖项,其中的程序集和包均未引用任何 Microsoft.NET.Sdk。

我们已经安装了 .NET Core 3.1.405(以及其他)和 MS .Net Framework 4.8 开发人员包,但仍然没有运气。

对下一步尝试的任何方向表示赞赏。

解决方法

感谢大家的帮助。我能够找出问题所在。

我相信该项目最初是针对 .NET Core 3.1 创建的,并且添加了

<Project Sdk="Microsoft.NET.Sdk;Microsoft.NET.Sdk.Publish"\>

在项目文件的顶部。在某些时候,它以某种方式恢复或向下定位到 .NET 4.8。

我必须创建针对 .NET4.8 的新项目并将所有代码移动到该新项目中,问题消失了,因为 sdk="Microsoft.NET.Sdk" 不再存在。