如何创建.NET Core 2 MVC解决方案?

问题描述

使用MS Visual Studio2019。需要创建.NET Core 2 MVC解决方案。我需要针对.NET Core 2和 3,因为不幸的是,我需要使用一些不针对.NET Core 3的库。

是否可以在不使用针对3的模板的情况下为此使用Visual Studio 2019或dotnet new?

解决方法

确保必须安装2.x SDK,CLI命令dotnet --list-sdks

  1. 通过Visual Studio或CLI创建一个新的ASP.NET核心webapp项目-> dotnet new webapp -o myapp
  2. 更新您的.csproj,如下所示:
<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" />
    <PackageReference Include="Microsoft.AspNetCore" Version="2.2.0" />
    <PackageReference Include="Microsoft.AspNetCore.Hosting.Abstractions" Version="2.2.0" />
    <PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="3.1.7" />
  </ItemGroup>

</Project>
  1. 更新program.cs以使用较旧的IWebHostBuilder
 public class Program
 {
    public static void Main(string[] args)
        => BuildWebHost(args).Run();


    public static IWebHostBuilder CreateWebHostBuilder(string[] args)
        => WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .UseConfiguration(Configuration)
            .Build();
 }
  1. 我认为您需要为剃须刀页面添加此内容。
// ConfigureServices(IServiceCollection services)
services.AddMvc().AddRazorPagesOptions(async  (opt)  => await Task.CompletedTask);

// Configure(IApplicationBuilder app,IHostEnvironment env)
app
    .UseStaticFiles()
    .UseDefaultFiles();

app.UseMvc()

我不确定#4中的剃须刀页面内容,从未使用过。但这应该可行。

以下是一些指南:

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...