Step by step migration of ASP.NET Core 2.2 to 3.1

In order to upgrade/migrate asp.net core version to 3.1 following steps to be perform.
Download and install Visual Studio 2019 version 16.4 or higher.Download and install .NET Core 3.1  https://dotnet.microsoft.com/download/dotnet-core/3.1Upgrade the projects of solution to .NET Core 3.1 , because ASP.NET Core 3.1 requires it.Update existing Nuget packages to a version compatible with ASP.NET Core 3.1 in each projectUse IHost interface from a IHostBuilder instead of building and running a IWebHost from a IWebHostBuilder in Program.cs public static IHostBuilder CreateWebHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseKestrel() .UseSerilog() .UseStartup<Startup>(); }) Change AddMvc method has been replaced by AddControllers in Startup.cs of each projects.In Startup.cs,UseMvc method to be replaced by…

Remove Owin from MVC 5 Application and use asp.net custom forms authentication

Owin comes with 15 other dependencies when we add default "blank" mvc5 template in solution. Which some time is irrelevant to web application hence needs to be removed for adding custom authentication techniques in the web application. Remove the owin  from solution is tedious task but if we follow the below procedure then it can be easily removed from the solution.

  • Right click on your project and from menu click on Manage Nuget Packages.
    on left side of Manage Nuget Packages window click on Installed Package
    then on right side of window in search box type owin. 



  • Uninstall packages in order of:

    1. microsoft.aspnet.identity.owin
    2. microsoft.owin.host.systemweb
    3. microsoft.owin.security.cookies
    4. microsoft.owin.security.facebook
    5. microsoft.owin.security.google
    6. microsoft.owin.security.microsoftaccount
    7. microsoft.owin.security.twitter
    8. microsoft.aspnet.identity.entityframework
    9. microsoft.aspnet.identity.core
  • Open web.config file and remove these sections from   <runtime><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <dependentAssembly>
        <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
      </dependentAssembly>
  • Open bin folder and if there is any Owin assembly, delete all of them 
  • Or open web.config in <appSettings> section then add this <add key="owin:AutomaticAppStartup" value="false" />
  • Remove the element <remove name="FormsAuthentication" /> from the <system.webServer> <modules > this will enable the forms authentication in the application.
  • Now you can set authentication cookies in your login page using FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);  method and check the ticket in the pages to authenticate the users

Comments

Popular posts from this blog

Restore the lost focus of Auto post back controls in asp.net update Panel control

Add Comma automatically while entering amounts in textbox using Javascript

Devexpress Datebox date formatting in angular 6 with example