首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建新的ASP.NET Core 6.0 Web API时出现的问题

创建新的ASP.NET Core 6.0 Web API时出现的问题
EN

Stack Overflow用户
提问于 2021-11-11 13:56:52
回答 1查看 1K关注 0票数 1

我尝试在ASP.NET Core6.0中创建一个新的Web,如https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-web-api?view=aspnetcore-6.0&tabs=visual-studio-code#create-a-web-project所示。

但它是用错误创建的。

这是我的新项目的WeatherForecastController

代码语言:javascript
复制
using Microsoft.AspNetCore.Mvc;

// see here This is ends with ";". And showing this error "{ expected [TodoApi]"
namespace TodoApi.Controllers; 

[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
{
    // some code
}

WeatherForecast类如下所示

代码语言:javascript
复制
// see here This is ends with ";". And showing this error "{ expected [TodoApi]"
namespace TodoApi;   

public class WeatherForecast
{
    // some code
}

所有的命名空间都丢失了。

program.cs文件如下所示;它在创建时没有任何名称空间:

代码语言:javascript
复制
var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddControllers();

// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

//.......

而且TodoApi.GlobalUsings.g.cs文件也有错误

代码语言:javascript
复制
// <auto-generated/>
global using global::Microsoft.AspNetCore.Builder;
global using global::Microsoft.AspNetCore.Hosting;
global using global::Microsoft.AspNetCore.Http;
global using global::Microsoft.AspNetCore.Routing;
global using global::Microsoft.Extensions.Configuration;
global using global::Microsoft.Extensions.DependencyInjection;
global using global::Microsoft.Extensions.Hosting;
global using global::Microsoft.Extensions.Logging;
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Net.Http.Json;
global using global::System.Threading;
global using global::System.Threading.Tasks;

dotnet --info的输出是

代码语言:javascript
复制
.NET SDK (reflecting any global.json):
 Version:   6.0.100
 Commit:    9e8b04bbff

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  20.04
 OS Platform: Linux
 RID:         ubuntu.20.04-x64
 Base Path:   /snap/dotnet-sdk/147/sdk/6.0.100/

Host (useful for support):
  Version: 6.0.0
  Commit:  4822e3c3aa

.NET SDKs installed:
  6.0.100 [/snap/dotnet-sdk/147/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 6.0.0 [/snap/dotnet-sdk/147/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 6.0.0 [/snap/dotnet-sdk/147/shared/Microsoft.NETCore.App]

To install additional .NET runtimes or SDKs:
  https://aka.ms/dotnet-download

但是如果我创建一个ASP.NET Core3.1项目,它不会显示这些错误(我安装ASP.NET Core3.1是为了创建ASP.NET Core3.1Web API)。

我不知道为什么在创建新的ASP.NET Core6.0Web API项目时会出现这些错误。

有人知道吗?

编辑:我使用的是visual studio代码。和TodoApi.csproj

代码语言:javascript
复制
<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="6.0.0" />
    <PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />
  </ItemGroup>

</Project>
EN

回答 1

Stack Overflow用户

发布于 2021-11-11 14:05:10

这里有几个C#的新特性。

首先,在Program.cs中,由于一个叫做“顶层程序”的新特性,“程序”类“缺失”了。

https://devblogs.microsoft.com/dotnet/c-9-0-on-the-record/#top-level-programs

缺少名称空间是因为“全局和隐式使用”,它为您提供了一些全局包含的标准名称空间。

https://devblogs.microsoft.com/dotnet/announcing-net-6/#global-using-directives

至于后面有分号的名称空间是"File scoped namespace“,它与将整个文件包装在名称空间中相同,但不需要缩进所有内容。

https://devblogs.microsoft.com/dotnet/announcing-net-6/#file-scoped-namespaces

如果您使用的是Visual Studio 2019,则需要更新到Visual Studio 2022才能使用所有这些功能。VSCode应该自动将C#扩展更新到最新版本,但是如果它还没有(或者您已经禁用了自动更新),您可能需要手动更新它。

https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69929505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档