WebHost 在 Asp Net Core 2.2 默认 API 模板的当前上下文中不存在



我正在学习.net核心,并从.net核心2.2 开始

我正在学习本教程。https://learn.microsoft.com/en-us/aspnet/core/tutorials/first-web-api?view=aspnetcore-2.2&tabs=visual studio

我在下面做了。

->创建了新的ASP.NET核心Web应用程序项目,并选择了具有ASP.NET核心2.2版本的API模板->构建应用程序

创建的默认应用程序存在生成错误。

错误为"当前上下文中不存在WebHost名称。">

我还没有对代码和命名空间Microsoft.AspNetCore进行任何更改;存在于using语句中。

我不确定我在这里错过了什么。你能帮忙吗?

我遇到了同样的问题,下面是我的解决方法。MS文档要求更新TFM,然后确保没有包引用Microsoft.AspNetCore.App的版本。

要解决此问题:

  • 在包管理器控制台中运行Uninstall-Package Microsoft.AspNetCore.App
  • 然后运行Install-Package Microsoft.AspNetCore.App

这将添加具有版本属性的包引用:

<PackageReference Include="Microsoft.AspNetCore.App" Version="2.2.0" />

从包引用中删除Version属性后,结果喜忧参半。起初,我遇到了构建错误,但我再也无法重现错误了——它在没有Version属性的情况下工作。

以下是我根据自己和他人的经验建议解决此问题的步骤。

  1. 请确保您拥有最新的Visual Studio和必要的SDK
  2. 通过dotnet --version确保您拥有所需的dotnet版本。这应该与VS一起安装,但如果你不安装VS,那么你仍然需要更新网络版本
  3. 如果您正在使用ReSharper,请禁用它或下载最新更新。有一个GitHub问题,您可以参考以获取更多信息
  4. 尝试运行dotnet restore。如果您看到以下消息Permission denied to modify the 'C:Program FilesdotnetsdkNuGetFallbackFolder' folder.那么您的问题可以通过删除NugetFallbackFolder文件夹来解决。请参阅GitHub问题
  5. 如果你仍然有问题,祝你好运,并在你找到解决方案后发表意见

我遇到了同样的问题,但我找到了解决方案:在项目的属性中,选择.NET核心框架之一作为目标框架,例如.NET Core 2.1,保存更改。然后选择正确的框架-.NET Core 2.2重建项目。仅此而已。

我通过删除C:\Program Files\dotnet\sdk\NuGetFallbackFolder然后在administratorcmd中运行dotnet build来解决这个问题

我遇到了同样的问题。只需删除对象文件夹即可。

最新更新