Visual Studio 2017 Update 3 - 无法找到指定的SDK"Microsoft.NET.Sdk.Web"

Sun*_*eep 22 .net-core visual-studio-2017

错误:

C:\ WebApp\WebApp.csproj:错误:找不到指定的SDK"Microsoft.NET.Sdk.Web".C:\ Web应用程序\ WebApp.csproj

我正在尝试打开Dotnet核心项目,我收到了上述错误.

我已经从https://www.microsoft.com/net/core#windowscmd安装了最新的SDK

我已经检查了dotnet cmd的路径,它运行正常.

我错过了什么吗?如果您需要更多信息,请与我们联系.

目标框架设置为.NET 4.5.2

Dar*_*eal 18

我最近偶然发现了这个问题.这是我找到的解决方法的简要列表(其中一个一直工作到现在):

  1. 安装正确的.NET Core SDK:最新版本或项目所需的版本.
  2. 清理过时的.NET Core版本:转到控制面板并卸载以前的.NET Core SDK/Runtime版本(只要您不再使用它们).
  3. 创建Global.json文件:使用以下内容将新的global.json文件添加到项目的根目录中(将.NET Core版本构建替换为您要运行项目的版本):

    {"sdk":{"version":"2.0.5"}}

  4. 重命名SDK参考:打开.proj文件并替换<project sdk="Microsoft.NET.Sdk.web"><project sdk="Microsoft.NET.Sdk">.

  5. 添加MSBuildSDKsPath环境变量:dotnet CLI在调用MSBuild时设置MSBuildSDKsPath环境变量:但是,2016年12月的修补程序更改了CLI行为,以便它将尊重现有的环境变量(如果已经设置):这将允许开发人员"强制"CLI使用特定的SDK.

  6. 检查您的路径:验证两者 C:\Program Files\dotnet 并且C:\Program Files (x86)\dotnet 都在PATH环境变量中.

有关该问题和其他可行修复的其他信息,请查看我在此主题上撰写的这篇博客文章.


Sun*_*eep 8

正如评论中所建议的,我更新了global.json文件,如下所示

{
  "sdk": {
  "version": "1.0.0"
 } 
}
Run Code Online (Sandbox Code Playgroud)

此外,我不得不删除<ItemGroup>.csproj文件中包含wwwroot文件路径.

在此输入图像描述

重新加载项目,它就像一个魅力!

  • 如果你总是想要最新的sdk,删除global.json可能是最好的选择.在我的情况下,我有一个错误的global.json坐在.net核心项目上方的文件夹中(很可能很久以前就错误地放在那里了).一旦我删除了我的项目再次加载. (10认同)

Ape*_*lus 8

我同意对Sundeep的回答的评论,你不应该global.json在你的项目中有一个文件.

似乎安装.NET Core 2.0 SDK会导致PATH出现问题.验证C:\Program Files\dotnet并且C:\Program Files (x86)\dotnet在PATH环境变量中.在我的情况下,这些值已经存在,System Variables所以我将它们添加到User Variables并重新启动我的机器.这解决了我的问题.

  • 就我而言,我安装了 32 位运行时和 64 位 SDK,32 位 (x86) 条目位于 PATH 中,位于 64 位条目之前。另外安装32位SDK后,就可以了。 (2认同)

au.*_*.tw 6

我遇到了同样的问题,我只是在csproj上重命名<project sdk="Microsoft.NET.Sdk.web"><project sdk="Microsoft.NET.Sdk">


另一种情况:https : //stackoverflow.com/a/55529011/2971851

问题详细信息:2.1.6xx和2.2.2xx版本的SDK仅在Visual Studio 2019上受支持。VS2017需要SDK的2.1.5xx和2.2.1xx版本。

如何解决这个问题?如果目标是2.1应用程序,则安装2.1.5xx版本的SDK如果目标2.2应用程序,则安装SDK的2.2.1xx版本。

并根据官方文件

注意:如果您是Visual Studio用户,则有MSBuild版本要求,因此请仅使用每个Visual Studio版本支持的.NET Core SDK。如果您使用其他开发环境,建议您使用最新的SDK版本。