问题描述
使用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
- 通过Visual Studio或CLI创建一个新的ASP.NET核心webapp项目->
dotnet new webapp -o myapp
- 更新您的.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>
- 更新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();
}
- 我认为您需要为剃须刀页面添加此内容。
// ConfigureServices(IServiceCollection services)
services.AddMvc().AddRazorPagesOptions(async (opt) => await Task.CompletedTask);
// Configure(IApplicationBuilder app,IHostEnvironment env)
app
.UseStaticFiles()
.UseDefaultFiles();
app.UseMvc()
我不确定#4中的剃须刀页面内容,从未使用过。但这应该可行。
以下是一些指南: