ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

28
ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015

Transcript of ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

Page 1: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

ASP.NET 5Visual Studio 2015 Templates

Bill WolffRob Keiser

June 10, 2015

Page 2: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

ASP.NET 5 MVC 6

• Unified programming model– Razor, WebAPI, Web Pages

• Tag helpers– Extend tag semantics– More readable, Angular style markup

• View components– Mini-controllers, replace @Html.Action()

• Service and type filters for IoC

Page 3: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

VS 2013 Add Project

• VS 2013– Web form– MVC– Web API

Page 4: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

VS 2015 Add Project

• VS 2015– 4.6 MVC 5– 5 MVC 6

Page 5: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

MVC 5 Solution

• These folders stay– Properties– References– Controllers– Models– Views

• These do not– App_Data, App_Start, Content, fonts, Scripts

Page 6: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

MVC 6 Solution Items

• Project info• Solution level settings• Project to project references

Page 7: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

MVC 6 Template

• Solution layout• New folders– wwwroot• Can rename

– Dependencies– Compiler

Page 8: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

MVC 5 Root Files

• These go away– Favicon• Move to wwwroot

– Global.asax– Packages.config• Move to project.json

– Startup.cs– Web.Config• Appsettings, connection strings

Page 9: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

MVC 6 Root files

• JSON configurations + CSharp – Bower: JS + CSS frameworks– Config: settings, connections– Gulpfile: client build tasks– MessageService: 2 factor auth email– Package: package versions– Project: dependencies, secrets, commands,

frameworks, excludes, scripts– Startup: initialization code

Page 10: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

MVC 5 Properties

• C# attributes

Page 11: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

MVC 6 Properties

• AppSettings class

Page 12: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

MVC 5 References

• Add assemblies

Page 13: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

MVC 6 References

• .NET frameworks

Page 14: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

MVC 5 App_Data, App_Start

• Local databases

• Startup code– Bundlers– Routes– Filters– Auth

Page 15: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

MVC 5 Content, fonts, Scripts

• Content

• Fonts

• Scripts

• All move to wwwroot

Page 16: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

MVC 6 wwwroot

• Static files– Styles– Images– Lib• JavaScript frameworks• CSS frameworks

– Favicon• Can rename

Page 17: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

MVC 6 Dependencies

• JS build tools– Bower• Client frameworks

– NPM• Node package manager

Page 18: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

MVC 6 Compiler folder

• Razor pre-compilation

• MVC 5 > in csproj file– <MvcBuildViews>true</MvcBuildViews>

Page 19: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

MVC 5 >

MVC 6 Controllers folder

• Naming convention– Define IActionResults

Page 20: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

MVC 6 Migrations folder

• EF code-first database– optional

Page 21: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

MVC 6 Models folder

• Data model classes– Annotation hints

Page 22: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

MVC 6 Views folder

• Sub folder per controller– _Global imports

– _ViewStart sets layout

Page 23: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

MVC 6 Razor views

• CSHTML pages

Page 24: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

MVC 6 Razor shared

• _Layout• _LoginPartial• _ValidationScriptsPartial• Errors

Page 25: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

New: Environment tag

• Conditional per level• Set library locations

Page 26: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

MVC 5 Layout sections

• Bundle render• Explicit ActionLink commands

• Partial pages

• Content placeholder

• Scripts at the end

Page 27: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

MVC 6 Layout sections

• AppSettings inject• New link tag helpers

• Async fragments• Content placeholder• Scripts at the end

Page 28: ASP.NET 5 Visual Studio 2015 Templates Bill Wolff Rob Keiser June 10, 2015.

MVC 6 Add a Page

• Copy an existing Razor view page– Or make a new one

• Rename the page• Add a method to an existing controller• Add menu link on _Layout page