1 00:00:00,570 --> 00:00:02,790 Everything that we did from the command line and 2 00:00:02,790 --> 00:00:08,420 Visual Studio code, a MAC OS works equally as well on Windows and Linux. 3 00:00:08,420 --> 00:00:12,140 While we can use those tools to develop asp.net core apps. 4 00:00:12,140 --> 00:00:14,650 It's certainly not our only choice. 5 00:00:14,650 --> 00:00:18,050 Let's see how we can use the full version of Visual Studio on Windows 6 00:00:18,050 --> 00:00:21,010 to create an asp.net core project. 7 00:00:21,010 --> 00:00:24,620 I'll click on the new project link here on the Visual Studio start page 8 00:00:24,620 --> 00:00:26,380 to open the new project dialog. 9 00:00:27,830 --> 00:00:31,240 You can click on a web here on the left to filter the list 10 00:00:31,240 --> 00:00:33,530 to the web specific templates. 11 00:00:33,530 --> 00:00:38,240 We have two ASP.NET Core web application templates to choose from. 12 00:00:38,240 --> 00:00:43,500 One that targets .NET Core and another that targets the full .NET framework. 13 00:00:43,500 --> 00:00:46,711 I'll select the .NET core template and click OK. 14 00:00:48,517 --> 00:00:51,390 This takes us to the second step in the process. 15 00:00:51,390 --> 00:00:56,360 Where we can select the specific ASP.NET core template that we want to use. 16 00:00:56,360 --> 00:00:59,246 I'll select the web application template and click OK. 17 00:01:05,075 --> 00:01:06,682 And here's our project. 18 00:01:11,852 --> 00:01:16,153 As soon as Visual Studio finishes creating our project we can see here in 19 00:01:16,153 --> 00:01:20,528 Solution Explorer that Visual Studio is busy restoring the packages for 20 00:01:20,528 --> 00:01:21,830 apps dependencies. 21 00:01:24,390 --> 00:01:28,950 Let's open the project JSON file and review the list of our apps dependencies. 22 00:01:32,790 --> 00:01:35,280 As you can see our NVC webapp 23 00:01:35,280 --> 00:01:39,800 has a lot more dependencies than our simple webapp from the previous video. 24 00:01:39,800 --> 00:01:42,716 There are packages related to diagnostics. 25 00:01:42,716 --> 00:01:48,540 NVC, razor, routing, I.I.S. integration, 26 00:01:48,540 --> 00:01:54,340 static files, configuration, logging and browser link. 27 00:01:54,340 --> 00:01:57,770 In the next video we'll see how we are using middleware components from these 28 00:01:57,770 --> 00:02:01,090 packages to build up our request pipeline. 29 00:02:01,090 --> 00:02:03,499 Now let's build our app. 30 00:02:12,256 --> 00:02:16,862 In the output window, we can see that Visual Studio is using the same .NET build 31 00:02:16,862 --> 00:02:19,770 command that we were using from the command line. 32 00:02:21,040 --> 00:02:24,282 Let's take a quick look at the program.cs file. 33 00:02:30,862 --> 00:02:35,028 The UseContentRoot method tells us the host to use the current directory as 34 00:02:35,028 --> 00:02:37,290 the root of the application. 35 00:02:37,290 --> 00:02:41,380 It's important to note that the root of our application is not the same 36 00:02:41,380 --> 00:02:45,990 as the webroot which is the dub, dub, dub root folder in our project 37 00:02:45,990 --> 00:02:49,960 the web root is the location of the serviceable web content. 38 00:02:49,960 --> 00:02:52,870 Being able to specify separate application and 39 00:02:52,870 --> 00:02:57,316 web routes is a nice improvement over the previous version of ASP .NET. 40 00:02:57,316 --> 00:03:00,694 The use IIS integration method configures the host so 41 00:03:00,694 --> 00:03:03,660 our web app can be integrated with IIS. 42 00:03:03,660 --> 00:03:08,800 This is necessary so that we can use IIS express as our development server 43 00:03:08,800 --> 00:03:10,860 when using the full version of Visual Studio. 44 00:03:12,400 --> 00:03:16,830 The big difference here from our earlier web app is that instead of configuring our 45 00:03:16,830 --> 00:03:21,860 application within the program .cs file, we're using the you startup 46 00:03:21,860 --> 00:03:27,570 method to configure the host to use a startup class of type startup. 47 00:03:27,570 --> 00:03:30,040 Moving all of our app configuration code 48 00:03:30,040 --> 00:03:35,550 into its own class makes our host configuration code much more focused. 49 00:03:35,550 --> 00:03:38,510 After the break we'll take a look at the startup class.