Eski Bir Sürüm İçin VSCode Web Projesi Yaratmak

Sisteminizde .NET Core 3.1 yüklü fakat  2.2 için Visual Studio Code projesi oluşturmak istiyorsunuz. Bunu yapmak için bir kaç yerde düzeltme yapmanız gerekecek:

Dotnet yeni komut makalesinde açıklandığı ve test edildiği üzere öncelikle yaratacağınız eski .net versiyonunun framework SDK'sı bilgisayarınızda yüklü olmalı...Benim bilgisayarımda 2.1,2.2 ve 3.1 Core SDKları yüklü ve versiyonlarını program ekle kaldır içinden görebiliyorum.

 

 

Şimdi yeni bir .NET Core 2.2 projesi yaratmak için tek yapmamız gereken cmd console proje klasörü içindeyken ekleme komutundan sonra paket ismi ve versiyonu yazmak.

dotnet new web Microsoft.DotNet.Web.Spa.ProjectTemplates::2.2.110

Sonra Code . diyerek Visual Studio Code penceremizde kodlamaya başlayabiliriz.

Startup.cs, Program.cs ve Projeismi.csproj (benim projem MovieApp.csproj) şu şekildeyse kodunuz .NET CORE 2.2 'ye uygun olarak derlenecektir. Değilse de aşağıdaki şekilde gerekli yerleri güncelleyerek yazmaya devam edebilirsiniz.

Startup.cs

using Microsoft.AspNetCore.Builder;

using Microsoft.AspNetCore.Hosting;

using Microsoft.AspNetCore.Http;

using Microsoft.AspNetCore.Mvc;

using Microsoft.Extensions.Configuration;

using Microsoft.Extensions.DependencyInjection;


 

namespace MovieApp

{

    public class Startup

    {

        // This method gets called by the runtime. Use this method to add services to the container.

        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940

       

        public void ConfigureServices(IServiceCollection services)

        {

            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

        }

 

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.

        

        public void Configure(IApplicationBuilder app, IHostingEnvironment env)

        {

            if (env.IsDevelopment())

            {

                app.UseDeveloperExceptionPage();

            }

            else

            {

                app.UseExceptionHandler("/Error");

                app.UseHsts();

 

            }

 

            app.UseHttpsRedirection();

            app.UseStaticFiles();

 

            //home/index/3

            app.UseMvcWithDefaultRoute();

            

        }

    }

}

Program.cs

using System;

using System.Collections.Generic;

using System.IO;

using System.Linq;

using System.Threading.Tasks;

using Microsoft.AspNetCore;

using Microsoft.AspNetCore.Hosting;

using Microsoft.Extensions.Configuration;

using Microsoft.Extensions.Logging;

 

namespace MovieApp

{

    public class Program

    {

        public static void Main(string[] args)

        {

            CreateWebHostBuilder(args).Build().Run();

        }        

 

       public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>

            WebHost.CreateDefaultBuilder(args)

                .UseStartup<Startup>();

    }

}

MovieApp.csproj

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

 

  <PropertyGroup>

    <TargetFramework>netcoreapp2.2</TargetFramework>

    <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>

  </PropertyGroup>

 

  <ItemGroup>

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

    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />

  </ItemGroup>

 

</Project>

Artık yazmış olduğunuz kodları dotnet watch run ile tarayıcıda görebilirsiniz.

 

Umarım 3.1'den 2.2 ye downgrade konusunda işinize yarar...