我正在学习.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
属性的情况下工作。
以下是我根据自己和他人的经验建议解决此问题的步骤。
- 请确保您拥有最新的Visual Studio和必要的SDK
- 通过
dotnet --version
确保您拥有所需的dotnet版本。这应该与VS一起安装,但如果你不安装VS,那么你仍然需要更新网络版本 - 如果您正在使用ReSharper,请禁用它或下载最新更新。有一个GitHub问题,您可以参考以获取更多信息
- 尝试运行
dotnet restore
。如果您看到以下消息Permission denied to modify the 'C:Program FilesdotnetsdkNuGetFallbackFolder' folder.
那么您的问题可以通过删除NugetFallbackFolder文件夹来解决。请参阅GitHub问题 - 如果你仍然有问题,祝你好运,并在你找到解决方案后发表意见
我遇到了同样的问题,但我找到了解决方案:在项目的属性中,选择.NET核心框架之一作为目标框架,例如.NET Core 2.1,保存更改。然后选择正确的框架-.NET Core 2.2重建项目。仅此而已。
我通过删除C:\Program Files\dotnet\sdk\NuGetFallbackFolder然后在administratorcmd中运行dotnet build来解决这个问题
我遇到了同样的问题。只需删除对象文件夹即可。