错误:
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
答案 0 :(得分:14)
我最近偶然发现了这个问题。这是我找到的解决方法的简要列表(其中一个一直工作到现在):
创建Global.json文件:使用以下内容将新的global.json文件添加到项目的根目录中(将.NET Core版本替换为你想用以下方式运行项目:
{ " sdk":{ "版本":" 2.0.5" } }
重命名SDK参考:打开.proj
文件,将<project sdk="Microsoft.NET.Sdk.web">
替换为<project sdk="Microsoft.NET.Sdk">
。
添加MSBuildSDKsPath环境变量:调用MSBuild时,dotnet CLI设置MSBuildSDKsPath环境变量:但是,a December 2016 patch更改了CLI行为,以便它尊重现有环境变量,如果已经设置:这将允许开发人员“强制”CLI使用特定的SDK。
C:\Program Files\dotnet
和C:\Program Files (x86)\dotnet
都在PATH环境变量中。有关该问题和其他可行修复的其他信息,请查看我就此主题撰写的this blog post。
答案 1 :(得分:8)
我同意有关Sundeep答案的评论,您的项目中不应该有global.json
个文件。
似乎安装.NET Core 2.0 SDK会导致PATH出现问题。验证C:\Program Files\dotnet
和C:\Program Files (x86)\dotnet
是否在PATH环境变量中。在我的情况下,System Variables
下已经存在这些值,因此我将它们添加到User Variables
并重新启动了我的计算机。这解决了我的问题。
答案 2 :(得分:7)
正如评论中所建议的,我更新了global.json文件,如下所示
{
"sdk": {
"version": "1.0.0"
}
}
另外,我不得不删除.csproj文件中包含wwwroot文件路径的<ItemGroup>
。
重新加载项目,它就像一个魅力!
答案 3 :(得分:5)
我遇到了同样的问题,我只是在csproj上将<project sdk="Microsoft.NET.Sdk.web">
重命名为<project sdk="Microsoft.NET.Sdk">
另一种情况: https://stackoverflow.com/a/55529011/2971851
问题详情:2.1.6xx&amp;仅支持2.2.2xx版本的SDK 在Visual Studio 2019上.VS 2017需要2.1.5xx&amp; 2.2.1xx版本的 SDK。
如何解决问题?如果是,请安装2.1.5xx版本的SDK 针对2.1应用程序安装2.2.1xx版本的SDK(如果有) 针对2.2应用程序。
注意:如果您是Visual Studio用户,则有MSBuild版本 要求因此只使用每个Visual支持的.NET Core SDK 工作室版本。如果您使用其他开发环境,我们 建议使用最新的SDK版本。
答案 4 :(得分:2)
当我按照Darkseal's answer中建议的第二步进行操作时,卸载以前的SDK版本,每次打开项目时都会导致"expected imports are missing"致命错误,因此我需要repair my Visual Studio ,因为再次安装旧版SDK一直弹出此错误...
该答案中提到的其他步骤也没有任何区别(环境变量中同时存在dotnet
个引用,而我不需要MSBuildSDKsPath
)。
作为Jyoten mentioned,我使用的是 VS2017 x86 版本,而我的 SDK是x64 。
但是,这不是唯一的问题,似乎与某些SDK版本和VS2017存在一些不兼容。安装了SDK v2.2.203和v2.2.202之后,当我在项目解决方案中双击 Properties 时,它们将永远不会出现在 Target框架下拉菜单中(在< em> Solution Explorer ( Ctrl + Alt + L ))。
所以我需要以v2.2.105 x86的身份安装mentioned in this answer ,以使其显示在该下拉菜单中。
一旦这样做,需要 .NET Core v2.2 的解决方案就可以正常工作(正常运行Build
)。
答案 5 :(得分:1)
当我不得不在VS2017中打开.Net Core 1.0.4项目时,我遇到了这个问题。
当我安装1.0.4 SDK时,我选择了将sdk文件放在&#39; c:\ Program Files \ dotnet&#39;中的x64版本。 ...
但是我的VS2017是32位,因此在&#c; \ Program Files(x86)\ dotnet&#39;中寻找sdk。
安装完32位版本的SDK后,它运行良好。
答案 6 :(得分:0)
我遇到了一个问题,即创建一个新的ASP.NET Core 2.0项目给我一个错误SDK&#39; Microsoft.Net.Sdk.Web&#39;找不到指定,让我无法在Visual Studio中打开项目。问题是项目是在包含global.json文件的文件夹中创建的,将SDK版本绑定到1.0.0。
删除global.json或将其更新为2.0.0修复了该问题。一定要检查父文件夹 - 如果任何父文件夹包含global.json,那么在&#34;最近的&#34;中指定的SDK版本。文件夹将被使用。
答案 7 :(得分:0)
我在Visual Studio Code中遇到此错误。
通过在VS Code中设置OmniSharp日志设置进行调试,我能够找到问题。一旦完成,我可以看到找不到Microsoft.Build.Resources.dll。
我通过修复VS 2017社区安装来安装MS Build。这样就解决了。
答案 8 :(得分:0)
卸载并重新安装Microsoft .NET Core SDK。 然后重新启动Visual Studio。 这对我有用。
答案 9 :(得分:0)
根据您的Visual Studio和操作系统选择正确的SDK。我从这里https://dotnet.microsoft.com/download/visual-studio-sdks下载了正确的版本,然后.Net Core出现在目标框架列表中(sdk版本和VS版本之间存在严格的依存关系,因此请小心)。
答案 10 :(得分:0)
我已经解决了这个问题, 转到此网站,https://dotnet.microsoft.com/download 在其中,安装.NET Core Runtime和.NET Core SDK。 安装后,请与管理员一起打开Visual Studio 2017,现在问题已经解决?
答案 11 :(得分:0)
我编辑了.csproj文件,并在此节中将netcoreapp2.2更改为netcoreapp2.1,然后我就能够使它工作。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>
答案 12 :(得分:0)
安装正确的SDK版本并转到以下链接
https://dotnet.microsoft.com/download/dotnet-core/thank-you/sdk-3.1.403-windows-x64-installer https://dotnet.microsoft.com/download/dotnet-core/thank-you/runtime-desktop-3.1.9-windows-x64-installer
答案 13 :(得分:0)
这对我有用: