Introduction
 List definitions are the templates for creating the list and defining a schema  for a SharePoint list. It contains information on what views are being used,  which columns and content types are being used, and other metadata information.  ListInstance is actually a list in which we need to specify the template id of  the ListDefinition. From one ListDefinition, we can create multiple List  instances. In this article, I will explain how to create List Definition and  List Instance in SharePoint 2013 using Visual Studio.
 
 Pre-Requisites
  	- Open Visual Studio.
- Open New Project dialog box. Expand Office/SharePoint node and then  	choose SharePoint Solutions.
 
 ![SharePoint]() 
 
 
- Choose the SharePoint 2013 – Empty Project template. Name the project as  	ExampleSharePointProject.
 
 ![SharePoint]() 
 
 
- Choose the "Deploy as a farm solution" option button and choose Finish  	button.
 
 ![SharePoint]() 
 
 
- ExampleSharePointProject SharePoint project gets created.
 
 ![SharePoint]() 
 
 
- Create the site columns in the ExampleSharePointProject.
 
 ![SharePoint]() 
 
 
- Create the site Content types in the ExampleSharePointProject.
 
 ![SharePoint]() 
 
Create List Definition
  	- Right click on ExampleSharePointProject -> Add -> New Folder. Add name  	the as “Lists”.
 
 ![SharePoint]() 
 
 
- Right click on Lists folder ->Add -> New Item.
 
 ![SharePoint]() 
 
 
- Add List from the Add New Item window. Name it as “PersonalInfo”.
 
 ![]() 
 
 
- Select the list template as customizable or create a list instance based  	on an existing list template in site.
 
 ![SharePoint]() 
 
 
- Select the column from the site column we created or default existing  	site column.
 
 ![]() 
 
 
- Create the “Views” in the Views tab as per our wish.
 
 ![SharePoint]() 
 
 
- Check the URL and give the description to the list in List tab.
 
 ![SharePoint]() 
 
 
- Elements.xml and Schema.xml file will show the same information as we  	created.
 
 ![SharePoint]() 
 
 ![]() 
 
Create List Instance
  	- Open the Element.xml created under the PersonalInfoInstance list.
 
 ![SharePoint]() 
 
 
- Create the list instance by adding <Data> tag and <Rows>. Inside this  	tags we can create as name instance we want by using <Row> tag as shown in  	following image.
 
 ![SharePoint]() 
 
 
- Once you create a site column, site content type, list definition and  	list instance, you will notice that Visual Studio has automatically added a  	Feature to the project and included the new site column “FirstName” and  	content type “PersonalContacts” and list definition and instance  	“PersonalInfo” in it.
 
 ![]() 
 
 
- Build and deploy the SharePoint solution.
- Open the SharePoint site, go to “Site Content”. PersonalInfo list got created.
 
 ![SharePoint]() 
 
 
- Click on the list created. We are able to see the list instance value added to the list.
 
 ![SharePoint]() 
Summary -Thus, you have learned how to create List Definition and List  Instance in SharePoint 2013, using Visual Studio.