Visual Basic .NET을 사용하여 ASP.NET Core Minimal API를 만드는 방법(템플릿 없음)

8047 단어 dotnetaspnetvb
Visual Basic .NET(VB)은 죽은 것이 아니지만 C#이나 F#만큼 사랑받지는 못합니다. .NET SDK와 함께 제공되는 사용 가능한 템플릿을 나열하면 즉시 명확해집니다.



23개 프로젝트 템플릿 중 6개만 VB를 지원하는 반면 F#은 10개, C#은 모두 지원합니다.

그러나 이것이 VB에서 C# 템플릿을 다시 만들 수 없다는 의미는 아닙니다. 이 자습서에서는 VB 콘솔 템플릿에서 시작하여 ASP.NET Core Minimal API 프로젝트로 업데이트하는 방법을 살펴봅니다.

전제 조건



따라 하려면 컴퓨터에 .NET 6 SDK 이상이 있어야 하며 Visual Studio 또는 JetBrains Rider 과 같은 VB 지원 ​​기능이 있는 .NET 편집기를 사용하는 것이 좋습니다.

C# Minimal API 및 VB 콘솔 프로젝트 만들기



C# 프로젝트 템플릿을 VB로 변환하는 가장 쉬운 방법은 해당 C# 프로젝트를 생성하고 VB 콘솔 프로젝트를 생성한 다음 두 프로젝트를 비교하는 것입니다. 먼저 C# Minimal API 프로젝트와 VB 콘솔 프로젝트를 생성해 보겠습니다. 터미널을 열고 다음 .NET CLI 명령을 실행합니다.

dotnet new web -lang C# -o MinimalApiSharp
dotnet new console -lang VB -o MinimalApiVb


C# Minimal API 비교 및 ​​VB 콘솔 앱 업데이트



비교해야 하는 첫 번째 파일은 MinimalApiSharp/MinimalApiSharp.csproj 및 MinimalApiVb/MinimalApiVb.vbproj 프로젝트 파일입니다.

MinimalApiSharp/MinimalApiSharp.csproj:

<Project Sdk="Microsoft.NET.Sdk.Web">

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

</Project>



참고: 저는 .NET 7을 사용하고 있지만 동일한 기술을 이전 버전과 최신 버전의 .NET에 적용할 수 있습니다.

MinimalApiVb/MinimalApiVb.vbproj:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <RootNamespace>MinimalApiVb</RootNamespace>
    <TargetFramework>net7.0</TargetFramework>
  </PropertyGroup>

</Project>



두 프로젝트 파일 간에 몇 가지 차이점이 있음을 알 수 있지만 중요한 차이점은 사용 중인 SDK입니다. Minimal API 프로젝트는 ASP.NET Core 프로젝트를 실행하는 데 필요한 종속성 및 빌드 단계를 로드하는 SDKMicrosoft.NET.Sdk.Web를 사용합니다. MinimalApiVb.vbproj에서 Microsoft.NET.SdkMicrosoft.NET.Sdk.Web로 바꿉니다.

MinimalApiVb/MinimalApiVb.vbproj:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <RootNamespace>MinimalApiVb</RootNamespace>
    <TargetFramework>net7.0</TargetFramework>
  </PropertyGroup>

</Project>


다음으로 MinimalApiSharp/Program.cs 및 MinimalApiVb/Program.vb 파일을 비교합니다.

MinimalApiSharp/Program.cs:

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet("/", () => "Hello World!");

app.Run();


MinimalApiVb/Program.vb:

Imports System

Module Program
    Sub Main(args As String())
        Console.WriteLine("Hello World!")
    End Sub
End Module


이제 C# 코드를 VB 코드로 변환하고 다음과 같이 Main 메서드에 배치해야 합니다.

Imports System

Module Program
    Sub Main(args As String())
        Dim builder = WebApplication.CreateBuilder(args)
        Dim app = builder.Build()
        app.MapGet("/", Function() "Hello World!")

        app.Run()
    End Sub
End Module


C# 프로젝트는 ImplicitUsings를 사용합니다. 즉, 일반적으로 필요한 네임스페이스는 using 문을 사용하여 명시적으로 가져올 필요 없이 이미 가져왔습니다. 이는 C#에 적합하지만 VB 애플리케이션에서 가져올 네임스페이스를 찾기가 조금 더 어렵습니다. 그러나 Visual Studio 및 JetBrains Rider와 같은 우수한 IDE를 사용하면 네임스페이스를 가져오는 것이 비교적 간단합니다.

다음과 같이 Imports 문을 업데이트합니다.

Imports System
Imports Microsoft.AspNetCore.Builder
Imports Microsoft.AspNetCore.Http


이제 VB 언어를 사용하여 작동하는 Minimal API가 생겼습니다!

JSON 파일을 사용하여 응용 프로그램을 구성할 수 있도록 C# 프로젝트의 appsettings.json 및 appsettings.Development.json 파일을 복사하여 VB 프로젝트에 붙여넣을 수도 있습니다.

이제 dotnet run 를 실행하여 애플리케이션을 테스트하십시오. 이 명령은 앱이 호스팅되는 localhost URL을 인쇄합니다. URL을 잡고 브라우저에서 열면 "Hello World!"가 표시됩니다.

결론



VB는 여전히 Microsoft에서 지원하지만 누락된 프로젝트 템플릿에서 볼 수 있는 것과 동일한 수준의 지원을 받고 있지 않습니다. 다행스럽게도 .NET의 모든 것은 VB를 포함한 모든 .NET 언어에서 사용할 수 있으므로 VB 언어와 함께 ASP.NET Core 및 Minimal API를 계속 사용할 수 있습니다.

좋은 웹페이지 즐겨찾기