问题描述
我们已经搜索了此问题的解决方案,但没有成功……网络上报告了大量类似的错误,但没有一个建议有效。
我们在 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"
不再存在。