Visual Basic .NET을 사용하여 ASP.NET Core Minimal API를 만드는 방법(템플릿 없음)
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 프로젝트를 실행하는 데 필요한 종속성 및 빌드 단계를 로드하는 SDK
Microsoft.NET.Sdk.Web
를 사용합니다. MinimalApiVb.vbproj에서 Microsoft.NET.Sdk
를 Microsoft.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를 계속 사용할 수 있습니다.
Reference
이 문제에 관하여(Visual Basic .NET을 사용하여 ASP.NET Core Minimal API를 만드는 방법(템플릿 없음)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/swimburger/how-to-create-an-aspnet-core-minimal-api-with-visual-basic-net-theres-no-template-45gd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)