Lui*_*aia 27 .net c# msbuild .net-core
我正在尝试使用msbuild命令行构建解决方案,并且我不断收到此错误:
error MSB4236: The SDK 'Microsoft.NET.Sdk' specified could not be found.
msbuild的版本是microsoft visual studio 2017工具的最新版本.我正在使用Windows Server 2012 R2,该项目使用.NET Core 2.0.
这是我正在使用的命令:
msbuild.exe /p:Configuration=Release /t:restore C:\Projects\MyProject.sln
完整日志:
Microsoft (R) Build Engine version 15.3.409.57025 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
Build started 9/16/2017 3:09:03 PM.
Project "C:\Projects\MyProject.sln" on node 1 (restore target(s)).
ValidateSolutionConfiguration:
Building solution configuration "Release|Any CPU".
Project "C:\Projects\MyProject.sln" (1) is building "C:\Projects\Kernel\Kernel.csproj" (2) on node 1 (restore target(s)).
C:\Projects\MyProject.sln" (1) is building "C:\Projects\Kernel\Kernel.csproj : error MSB4236: The SDK 'Microsoft.NET.Sdk' specified could not be found.
Done Building Project "C:\Projects\MyProject.sln" (1) is building "C:\Projects\Kernel\Kernel.csproj" (restore target(s)) -- FAILED.
Build FAILED.
"C:\Projects\MyProject.sln" (restore target) (1) ->
"C:\Projects\Kernel\Kernel.csproj" (restore target) (2) ->
C:\Projects\Kernel\Kernel.csproj : error MSB4236: The SDK 'Microsoft.NET.Sdk' specified could not be found.
0 Warning(s)
11 Error(s)
Run Code Online (Sandbox Code Playgroud)
Seb*_*eth 29
在使用.Net Core 2.0安装并且看起来搞砸了之后我遇到了这个错误.我会得到同样的错误dotnet restore,dotnet build或者dotnet msbuild.基本上,涉及.Net Core和msbuild的任何事情.
发生错误是因为MSBuildSDKsPath环境变量仍然指向旧的.Net Core 1.1 SDK.
为了解决这个问题,我手动将MSBuildSDKsPath环境变量设置为指向2.0.0的SDK路径,对于x64我来说,这是在:C:\Program Files\dotnet\sdk\2.0.0\Sdks.
基本上,如果你有Sdk="Microsoft.NET.Sdk"你的.csproj,然后用相同名称的文件夹应该在你的存在MSBuildSDKsPath位置.
Yas*_*sel 13
安装 VS 工具时,您可能缺少某些组件
下载并运行Visual Studio 2019 的构建工具。(在 VS 下载页面,转到Tools for Visual Studio 2019,然后单击下载Build Tools for Visual Studio 2019)
paw*_*zan 11
对我来说,解决方案是在 global.json 文件中设置 sdk 版本:

并指定 C:\Program Files\dotnet\sdk 文件夹中存在的正确版本。VS 安装程序卸载了以前版本的 .NET Core 3.0.100 并安装了新的 3.1.100,因此我不得不将其更改为:
{ "sdk": { "version": "3.0.100" }}
Run Code Online (Sandbox Code Playgroud)
到
{ "sdk": { "version": "3.1.100" }}
Run Code Online (Sandbox Code Playgroud)
Hyp*_*tum 10
对我来说,更新 Visual Studio 构建工具导致了“找不到 SDK”错误。
解决方案:运行Visual Studio安装程序,修改Visual Studio(构建工具)安装,并确保选择以下工作负载:
小智 6
我在 Mac OS 中遇到此问题,在使用 docker 容器和 Azure 时,会出现此问题,因为 docker bash 覆盖了 MSBuildSDKsPath,因此不要更改任何代码,只需退出并重新启动 IDE(Visual Studio Mac)并再次运行即可
小智 6
在 Windows 10 中安装 Visual Studio 2022 后,当我打开解决方案时,我开始收到此错误。该解决方案包含 .NET Framework 4.8 和 .NET Standard 2.0 项目的混合,并且错误出现在 .NET Standard 2.0 项目上。我之前安装了 Visual Studio 2019 和 2019 构建工具。
问题是我同时dotnet安装了 x86 和 x64,并且两者都在我的系统 PATH 环境变量中:
C:\Program Files (x86)\dotnet
C:\Program Files\dotnet
Run Code Online (Sandbox Code Playgroud)
我执行了以下步骤来修复此错误:
我认为重要的部分是从环境变量中删除 x86。其他步骤只是“清理”。
| 归档时间: |
|
| 查看次数: |
14837 次 |
| 最近记录: |