Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member
When you create a project in Visual Studio, it creates a lot of files for you. The number of these files and the file types are determined by a project template. Simply stated, a project template instructs Visual Studios which files to generate and load into the IDE. I'd like to start this movie by looking at the existing templates. I am inside Visual Studio, and I am going to create a new project. I will go to File > New > Project. I am going to select the Console Application.
This is one of the templates that's available. There are Visual Basic templates and C# templates, C++ templates, and many more. I am going to go to C# and then Windows, and I am going to choose Console Application. Next, I have to pick the location on my hard drive where to put these files. Choose a location that makes sense for your application. For my application, I am going to browse out to my Chapter 06 folder and then Chapter 01.
I will call this one ConsoleApplication1. Accept the defaults. Now what I want you to see is that the template loaded a file called Program.cs, and there is also another code file that's hidden inside this Properties folder called AssemblyInfo.cs. So it created two files for me. Now if I create a different kind of application--let's say I add another new project and choose WPF-- this template loads more files.
It loads something called App.xaml and App.xaml.cs. It also created two files that start with the name MainWindow. And if I create a web application, like this ASP.NET web application--again, accepting the defaults here--I get dozens of files. I get a folder called Account, and one called Styles, and a number of aspx files.
These are all coming from different templates. So where are these templates stored? Let's go and take a look. I am going to switch over to Windows Explorer, and I am going to go into my Program Files folder. On my machine, I am using the one that's entitled x86. And then I am going to scroll down and find Microsoft Visual Studio 10 > a Common7 folder > IDE, and then I need to scroll down and find the Project Templates folder. And now I can finally see the different template areas.
I am looking for a C# template, and I am looking for the Windows template. One more folder. The 1033 folder is the English folder, and here is that ConsoleApplication template. It's stored in a ZIP file. So if I open this ZIP file, I'll see that there is a program.cs file and an assembly.cs file, plus some other files. So the instructions to Visual Studio are to create all these separate files.
Now let's see what happens if I double-click on this program.cs file. It loads it inside Visual Studio. On your machine, it may not load into Visual Studio. It might use a different tool to open the file. It should use some text editor, though. Now let's take a look between this file and the program.cs that was created when I ran the template. Here I ended up with a namespace called ConsoleApplication1. In the template, there is a token sitting in here. It's replaced when the template is unwrapped.
This means to go figure out what the name of the project is and put it here. Also, note there is 'if' statement up at the top that says, "If the targetframeworkversion is greater than or equal to 3.5, then add an additional using statement." So in my file, you can see that System.Ling was added, because I created a 4.0 version of the ConsoleApplication. Now the nice thing about templates is that you can create your own templates. I have some friends that have a consultancy, and they create the same projects over and over again for their clients.
If you were to find yourself in this situation, you might consider making your own custom project or item templates. I am going to start by creating a custom item template. I am going to go over to my ConsoleApplication. And I think before I do that I am going to close all these windows. So on Visual Studio, I can go to the Windows menu, and then choose Close All Documents. Then I am going to go to my ConsoleApplication, and I am going to say Add > Class. I am going to call this one BoilerPlateClass.
Next, I am going to put some of the known template tokens in here. I am going to create a comment that says, "created on", and then I will use one of the tokens, move down to the next line, and then here I will put in another token. This one is registeredorganization, and then lastly, I am going to replace this class name with the token itemname.
Let me save that file. To make a template out of this, I am going to go to File > Export Template. I am going to create two templates. The first one I am going to create is an Item template. So I'll select Item template, I will click on Next, and I will pick my BoilerPlateClass as the Item template, and then click Next. Here, I can add references. When the user uses my template, it's going to add these DLLs in the references folder. Let me pick those three.
Then I will click on Next. Here I give my template a name. I am going to call this one BoilerPlateClass, and then I'll click Finish. This file actually got copied to two different places. It got copied to the My Exported Templates folder. It also got copied to my Visual Studio folder inside the My Documents folder.
Now, let's close the solution, create a brand-new project-- I am going to use a ConsoleApplication-- and then I am going to right-click over here and say, Add > New Item, and there is my BoilerPlateClass. So I will choose that one, click Add, and as you can see, it replaced the date and it replaced the class name. Next, I want to create a project template.
So let me close this solution, and not save the changes, and then I am going to go and open an existing project that I already have. I am going to say Open > ProjectSolution. I am going to open this project in the InfoReader folder, called InfoReader.sln. Next, I am going to make a template out of it. You might recognize this. This is the one I did in Chapter 03, where I created the Info Reader application.
It's got a database and a picture and an xsdf file and a xaml file. So I am going to make a template out of this. I am going to go to File > Export Template, make it a project template, call it InfoReader or lynda.com or whatever you want to call your template. Click on Finish, and then in the future I can come in and say I want to do File > New > Project. Come over here and type "info".
There is my InfoReader project. I click on OK, and there is my InfoReader1, and you see how it automatically brought in all of my files. So as you can see, the Export feature makes it dead simple to create your own item an project templates.
Get unlimited access to all courses for just $25/month.Become a member
82 Video lessons · 101504 Viewers
61 Video lessons · 88266 Viewers
71 Video lessons · 72134 Viewers
56 Video lessons · 103896 Viewers
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.
Your file was successfully uploaded.