zoukankan      html  css  js  c++  java
  • Core2.0 项目到2.1

    Core2.0 项目到2.1

    https://www.cnblogs.com/FlyLolo/p/ASPNETCore2_10.html

    .NET Core 2.1 终于发布了, 赶紧升级一下。

    一. 安装SDK
    首先现在并安装 SDK(64-bit)

    安装完毕后如果新建项目可以看到已经有2.1的选项了

    二. 更新现有2.0项目到2.1

    1. 修改 项目版本
      右键点击解决方案管理器中的项目, 选择编辑项目名.csproj

    netcoreapp2.0 中的2.0改为2.1,保存。

    1. 将引用 Microsoft.AspNetCore.All 替换为 Microsoft.AspNetCore.App
      项目依赖中找到 Microsoft.AspNetCore.All ,移除它, 在Nugget中搜索并安装 Microsoft.AspNetCore.App

    注意:以下内容依旧包含在 Microsoft.AspNetCore.All 中, 而 Microsoft.AspNetCore.App 中不存在

    Microsoft.AspNetCore.ApplicationInsights.HostingStartup
    Microsoft.AspNetCore.AzureAppServices.HostingStartup
    Microsoft.AspNetCore.AzureAppServicesIntegration
    Microsoft.AspNetCore.DataProtection.AzureKeyVault
    Microsoft.AspNetCore.DataProtection.AzureStorage
    Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv
    Microsoft.AspNetCore.SignalR.Redis
    Microsoft.Data.Sqlite
    Microsoft.Data.Sqlite.Core
    Microsoft.EntityFrameworkCore.Sqlite
    Microsoft.EntityFrameworkCore.Sqlite.Core
    Microsoft.Extensions.Caching.Redis
    Microsoft.Extensions.Configuration.AzureKeyVault
    Microsoft.Extensions.Logging.AzureAppServices
    Microsoft.VisualStudio.Web.BrowserLink
    所以如果项目中需要用到这些内容, 可以单独引用它们, 而不建议再次整体引用 Microsoft.AspNetCore.All

    1. 修改其他引用
      再次打开*.csproj文件, 可以看到对应的 Microsoft.AspNetCore.All 已经替换为Microsoft.AspNetCore.App 了

    删除各种 例如:

    最终这个*.csproj文件类似这样

    复制代码


    netcoreapp2.1
    aspnet-{Project Name}-{GUID}






    复制代码
    4.修改Program.cs
    修改Main方法和BuildWebHost方法, 结果如下

    复制代码
    public class Program
    {
    public static void Main(string[] args)
    {
    CreateWebHostBuilder(args).Build().Run();
    }

        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>();
    }
    

    复制代码
    5. 修改Startup
    修改后代码示例如下, 主要是新增行,删除UseBrowserLink, 见下文代码的颜色标注

    复制代码
    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 WebApp1
    {
    public class Startup
    {
    public Startup(IConfiguration configuration)
    {
    Configuration = configuration;
    }

        public IConfiguration Configuration { get; }
    
        public void ConfigureServices(IServiceCollection services)
        {
            services.Configure<CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                options.CheckConsentNeeded = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });
    
    
            services.AddMvc()
                .SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
        }
    
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
    

              //app.UseBrowserLink(); 删除此行
    app.UseDeveloperExceptionPage();
    }
    else
    {
    app.UseExceptionHandler("/Error");
    app.UseHsts();
    }

            app.UseHttpsRedirection();
            app.UseStaticFiles();
            app.UseCookiePolicy();
    
            app.UseMvc();
        }
    }
    

    }
    复制代码
    三. 其他改动
    shared文件夹中添加了新文件_CookieConsentPartial.cshtml, 在_Layout文件中被引用
    _ValidationScriptsPartial.cshtml 文件中的jquery.validate.js版本升级到了1.17.0
    JQuery从2.2.0升级到3.3.1
    四. 一点郁闷的事
    看到2.1发布, 首先没有去下载SDK而是查看VS是否有更新,希望更新VS的时候可以顺便更新SDK。 当前版本15.7.1 , 官方文档中提示前几天有15.7.2发布, VS中检查更新一直没有。

    下载SDK安装好后, 终于右上角的小旗子亮了提示有更新, 各种重试均是不动没有下载进度。

    最后不管它发现它以一种怪异的方式开始了更新。。。
    NET Core2.1 WEB老项目迁移
    .NET Core2.1 版本新增功能不在赘述.

      NET Core2.1更新链接

    如果开发需要安装Net Core2.1SDK,及Runtime。

    .NET Core2.1安装地址。

    接下来是WEB 项目迁移,建议提前备份。装好后如果出现Process Failure,说明安装版本不对。

    https://www.cnblogs.com/dwjkj/p/9115090.html

  • 相关阅读:
    二分查找练习
    Linux中Buffer和Cache的区别
    c++设计模式之单例模式
    c++设计模式之工厂模式
    C++中内存泄漏的几种情况
    snprintf
    命名空间和模块化编程1
    避免内存泄漏
    静态对象强制类型转换
    副本构造器
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/9116727.html
Copyright © 2011-2022 走看看