diff --git a/core-sdk-templates.sln b/core-sdk-templates.sln
index 2bb38ce0fa79..58c3a6068922 100644
--- a/core-sdk-templates.sln
+++ b/core-sdk-templates.sln
@@ -1,7 +1,7 @@
 
 Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 14
-VisualStudioVersion = 14.0.25420.1
+# Visual Studio 15
+VisualStudioVersion = 15.0.25630.0
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{9CAEE03D-60F1-4E77-B25B-9CD8757E1F09}"
 	ProjectSection(SolutionItems) = preProject
@@ -38,7 +38,19 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".NETCore", ".NETCore", "{57
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpTemplatesSetup", "src\Templates\CSharpTemplatesSetup\CSharpTemplatesSetup.csproj", "{F535071D-F755-403A-AB63-468A0F547702}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleApplication", "src\Templates\ProjectTemplates\CSharp\.NETCore\ConsoleApplication\ConsoleApplication.csproj", "{0C52951F-4EEF-4F2F-B587-0BCF6004C459}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpConsoleApplication", "src\Templates\ProjectTemplates\CSharp\.NETCore\CSharpConsoleApplication\CSharpConsoleApplication.csproj", "{0C52951F-4EEF-4F2F-B587-0BCF6004C459}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpClassLibrary", "src\Templates\ProjectTemplates\CSharp\.NETCore\CSharpClassLibrary\CSharpClassLibrary.csproj", "{A103C9A3-C76C-4A48-B67C-695FD1CB2F15}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "VisualBasic", "VisualBasic", "{98132BF6-2450-4753-B4E9-878F468E60BB}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".NETCore", ".NETCore", "{E281FDCB-10B7-403C-84D4-EE4FF92845B9}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VisualBasicConsoleApplication", "src\Templates\ProjectTemplates\VisualBasic\.NETCore\VisualBasicConsoleApplication\VisualBasicConsoleApplication.csproj", "{622C1D9E-A9E1-422D-83DF-CE5CE0AAAF51}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VisualBasicTemplatesSetup", "src\Templates\VisualBasicTemplatesSetup\VisualBasicTemplatesSetup.csproj", "{2A82D3FA-4EBE-425C-A3C7-3DC207591E53}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VisualBasicClassLibrary", "src\Templates\ProjectTemplates\VisualBasic\.NETCore\VisualBasicClassLibrary\VisualBasicClassLibrary.csproj", "{DCDD8266-D269-46BD-B563-E4D4B811A5B1}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -54,6 +66,22 @@ Global
 		{0C52951F-4EEF-4F2F-B587-0BCF6004C459}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{0C52951F-4EEF-4F2F-B587-0BCF6004C459}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{0C52951F-4EEF-4F2F-B587-0BCF6004C459}.Release|Any CPU.Build.0 = Release|Any CPU
+		{A103C9A3-C76C-4A48-B67C-695FD1CB2F15}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{A103C9A3-C76C-4A48-B67C-695FD1CB2F15}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A103C9A3-C76C-4A48-B67C-695FD1CB2F15}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{A103C9A3-C76C-4A48-B67C-695FD1CB2F15}.Release|Any CPU.Build.0 = Release|Any CPU
+		{622C1D9E-A9E1-422D-83DF-CE5CE0AAAF51}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{622C1D9E-A9E1-422D-83DF-CE5CE0AAAF51}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{622C1D9E-A9E1-422D-83DF-CE5CE0AAAF51}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{622C1D9E-A9E1-422D-83DF-CE5CE0AAAF51}.Release|Any CPU.Build.0 = Release|Any CPU
+		{2A82D3FA-4EBE-425C-A3C7-3DC207591E53}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{2A82D3FA-4EBE-425C-A3C7-3DC207591E53}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{2A82D3FA-4EBE-425C-A3C7-3DC207591E53}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{2A82D3FA-4EBE-425C-A3C7-3DC207591E53}.Release|Any CPU.Build.0 = Release|Any CPU
+		{DCDD8266-D269-46BD-B563-E4D4B811A5B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{DCDD8266-D269-46BD-B563-E4D4B811A5B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{DCDD8266-D269-46BD-B563-E4D4B811A5B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{DCDD8266-D269-46BD-B563-E4D4B811A5B1}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
@@ -66,5 +94,11 @@ Global
 		{57C097FA-72EB-4AB9-8E72-58ACDEB0F4A8} = {82D4E69F-8B61-4CC3-8AF1-11D02AAE99CF}
 		{F535071D-F755-403A-AB63-468A0F547702} = {C86A71A6-9D35-436B-BBC5-0940041410F1}
 		{0C52951F-4EEF-4F2F-B587-0BCF6004C459} = {57C097FA-72EB-4AB9-8E72-58ACDEB0F4A8}
+		{A103C9A3-C76C-4A48-B67C-695FD1CB2F15} = {57C097FA-72EB-4AB9-8E72-58ACDEB0F4A8}
+		{98132BF6-2450-4753-B4E9-878F468E60BB} = {1F16979A-2572-444B-9DD7-51D4289309DA}
+		{E281FDCB-10B7-403C-84D4-EE4FF92845B9} = {98132BF6-2450-4753-B4E9-878F468E60BB}
+		{622C1D9E-A9E1-422D-83DF-CE5CE0AAAF51} = {E281FDCB-10B7-403C-84D4-EE4FF92845B9}
+		{2A82D3FA-4EBE-425C-A3C7-3DC207591E53} = {C86A71A6-9D35-436B-BBC5-0940041410F1}
+		{DCDD8266-D269-46BD-B563-E4D4B811A5B1} = {E281FDCB-10B7-403C-84D4-EE4FF92845B9}
 	EndGlobalSection
 EndGlobal
diff --git a/core-sdk.sln b/core-sdk.sln
index 33594ea75ad0..b0212bfb2cd7 100644
--- a/core-sdk.sln
+++ b/core-sdk.sln
@@ -1,7 +1,7 @@
 
 Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio 14
-VisualStudioVersion = 14.0.25420.1
+VisualStudioVersion = 14.0.25123.0
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tasks", "Tasks", "{1FEED16D-E07D-47C1-BB4C-56CD9F42B53B}"
 EndProject
@@ -53,24 +53,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Targets", "Targets", "{0C13
 		build\Targets\Templates.Imports.targets = build\Targets\Templates.Imports.targets
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Templates", "Templates", "{C86A71A6-9D35-436B-BBC5-0940041410F1}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ProjectTemplates", "ProjectTemplates", "{1F16979A-2572-444B-9DD7-51D4289309DA}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CSharp", "CSharp", "{82D4E69F-8B61-4CC3-8AF1-11D02AAE99CF}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".NETCore", ".NETCore", "{57C097FA-72EB-4AB9-8E72-58ACDEB0F4A8}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpTemplatesSetup", "src\Templates\CSharpTemplatesSetup\CSharpTemplatesSetup.csproj", "{F535071D-F755-403A-AB63-468A0F547702}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleApplication", "src\Templates\ProjectTemplates\CSharp\.NETCore\ConsoleApplication\ConsoleApplication.csproj", "{0C52951F-4EEF-4F2F-B587-0BCF6004C459}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Web", "Web", "{78DFB5BC-0BE9-456D-B76F-CAD5567F7F08}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpWebTemplatesSetup", "src\Templates\CSharpWebTemplatesSetup\CSharpWebTemplatesSetup.csproj", "{8D1B6233-3DE7-4554-8C8E-F649BDF918FD}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Emptyweb", "src\Templates\ProjectTemplates\CSharp\Web\EmptyWeb\EmptyWeb.csproj", "{2B564EBF-C589-46CA-B98B-C2EC4EB9C255}"
-EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.NETCore.Build.Tests", "test\Microsoft.NETCore.Build.Tests\Microsoft.NETCore.Build.Tests.csproj", "{EC640B7E-332E-40A2-BB6E-5B7EC788F315}"
 EndProject
 Global
@@ -101,14 +83,6 @@ Global
 		{94F9B889-635A-48A7-A0CB-BAE5D6C9A91A}.Release|Any CPU.Build.0 = Release|Any CPU
 		{98883ACD-BE3A-4533-953D-1BE25981BA02}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{98883ACD-BE3A-4533-953D-1BE25981BA02}.Release|Any CPU.ActiveCfg = Debug|Any CPU
-		{F535071D-F755-403A-AB63-468A0F547702}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{F535071D-F755-403A-AB63-468A0F547702}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{0C52951F-4EEF-4F2F-B587-0BCF6004C459}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{0C52951F-4EEF-4F2F-B587-0BCF6004C459}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{8D1B6233-3DE7-4554-8C8E-F649BDF918FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{8D1B6233-3DE7-4554-8C8E-F649BDF918FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{2B564EBF-C589-46CA-B98B-C2EC4EB9C255}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{2B564EBF-C589-46CA-B98B-C2EC4EB9C255}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{EC640B7E-332E-40A2-BB6E-5B7EC788F315}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{EC640B7E-332E-40A2-BB6E-5B7EC788F315}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{EC640B7E-332E-40A2-BB6E-5B7EC788F315}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -127,14 +101,6 @@ Global
 		{94F9B889-635A-48A7-A0CB-BAE5D6C9A91A} = {3B295650-6CBF-486F-9E25-F96EE03B7CAE}
 		{98883ACD-BE3A-4533-953D-1BE25981BA02} = {3B295650-6CBF-486F-9E25-F96EE03B7CAE}
 		{0C1312C0-0A29-4EB2-8294-6D1C54D78F61} = {50A89C27-BA35-44B2-AC57-E54551791C64}
-		{1F16979A-2572-444B-9DD7-51D4289309DA} = {C86A71A6-9D35-436B-BBC5-0940041410F1}
-		{82D4E69F-8B61-4CC3-8AF1-11D02AAE99CF} = {1F16979A-2572-444B-9DD7-51D4289309DA}
-		{57C097FA-72EB-4AB9-8E72-58ACDEB0F4A8} = {82D4E69F-8B61-4CC3-8AF1-11D02AAE99CF}
-		{F535071D-F755-403A-AB63-468A0F547702} = {C86A71A6-9D35-436B-BBC5-0940041410F1}
-		{0C52951F-4EEF-4F2F-B587-0BCF6004C459} = {57C097FA-72EB-4AB9-8E72-58ACDEB0F4A8}
 		{EC640B7E-332E-40A2-BB6E-5B7EC788F315} = {580D1AE7-AA8F-4912-8B76-105594E00B3B}
-		{78DFB5BC-0BE9-456D-B76F-CAD5567F7F08} = {82D4E69F-8B61-4CC3-8AF1-11D02AAE99CF}
-		{8D1B6233-3DE7-4554-8C8E-F649BDF918FD} = {C86A71A6-9D35-436B-BBC5-0940041410F1}
-		{2B564EBF-C589-46CA-B98B-C2EC4EB9C255} = {78DFB5BC-0BE9-456D-B76F-CAD5567F7F08}
 	EndGlobalSection
 EndGlobal
diff --git a/src/Tasks/Microsoft.NETCore.Build.Tasks/Microsoft.NETCore.Build.Tasks.csproj b/src/Tasks/Microsoft.NETCore.Build.Tasks/Microsoft.NETCore.Build.Tasks.csproj
index c29327df975d..55265c4d4670 100644
--- a/src/Tasks/Microsoft.NETCore.Build.Tasks/Microsoft.NETCore.Build.Tasks.csproj
+++ b/src/Tasks/Microsoft.NETCore.Build.Tasks/Microsoft.NETCore.Build.Tasks.csproj
@@ -41,6 +41,18 @@
     
       PreserveNewest
     
+    
+      PreserveNewest
+    
+    
+      PreserveNewest
+    
+    
+      PreserveNewest
+    
+    
+      PreserveNewest
+    
     
       PreserveNewest
     
diff --git a/src/Tasks/Microsoft.NETCore.Build.Tasks/build/netstandard1.0/Microsoft.NETCore.Sdk.CSharp.props b/src/Tasks/Microsoft.NETCore.Build.Tasks/build/netstandard1.0/Microsoft.NETCore.Sdk.CSharp.props
new file mode 100644
index 000000000000..f490df0f11b8
--- /dev/null
+++ b/src/Tasks/Microsoft.NETCore.Build.Tasks/build/netstandard1.0/Microsoft.NETCore.Sdk.CSharp.props
@@ -0,0 +1,25 @@
+
+
+
+  
+    4
+    1701
+  
+  
+    DEBUG;TRACE
+  
+  
+    TRACE
+  
+
+
diff --git a/src/Tasks/Microsoft.NETCore.Build.Tasks/build/netstandard1.0/Microsoft.NETCore.Sdk.CSharp.targets b/src/Tasks/Microsoft.NETCore.Build.Tasks/build/netstandard1.0/Microsoft.NETCore.Sdk.CSharp.targets
new file mode 100644
index 000000000000..c1521cda9857
--- /dev/null
+++ b/src/Tasks/Microsoft.NETCore.Build.Tasks/build/netstandard1.0/Microsoft.NETCore.Sdk.CSharp.targets
@@ -0,0 +1,13 @@
+
+
+
diff --git a/src/Tasks/Microsoft.NETCore.Build.Tasks/build/netstandard1.0/Microsoft.NETCore.Sdk.VisualBasic.props b/src/Tasks/Microsoft.NETCore.Build.Tasks/build/netstandard1.0/Microsoft.NETCore.Sdk.VisualBasic.props
new file mode 100644
index 000000000000..0906bb5a31e1
--- /dev/null
+++ b/src/Tasks/Microsoft.NETCore.Build.Tasks/build/netstandard1.0/Microsoft.NETCore.Sdk.VisualBasic.props
@@ -0,0 +1,26 @@
+
+
+
+  
+    Embed
+  
+
+  
+    true
+    true
+  
+  
+    true
+  
+
+
diff --git a/src/Tasks/Microsoft.NETCore.Build.Tasks/build/netstandard1.0/Microsoft.NETCore.Sdk.VisualBasic.targets b/src/Tasks/Microsoft.NETCore.Build.Tasks/build/netstandard1.0/Microsoft.NETCore.Sdk.VisualBasic.targets
new file mode 100644
index 000000000000..a15a3834fd25
--- /dev/null
+++ b/src/Tasks/Microsoft.NETCore.Build.Tasks/build/netstandard1.0/Microsoft.NETCore.Sdk.VisualBasic.targets
@@ -0,0 +1,28 @@
+
+
+
+  
+  
+    ChangeExtensionOfOutputAssembly;$(TargetsTriggeredByCompilation)
+  
+
+  
+    
+    
+  
+  
+
\ No newline at end of file
diff --git a/src/Tasks/Microsoft.NETCore.Build.Tasks/build/netstandard1.0/Microsoft.NETCore.Sdk.props b/src/Tasks/Microsoft.NETCore.Build.Tasks/build/netstandard1.0/Microsoft.NETCore.Sdk.props
index e3f6c1bb75de..ed059e5e8dd5 100644
--- a/src/Tasks/Microsoft.NETCore.Build.Tasks/build/netstandard1.0/Microsoft.NETCore.Sdk.props
+++ b/src/Tasks/Microsoft.NETCore.Build.Tasks/build/netstandard1.0/Microsoft.NETCore.Sdk.props
@@ -17,6 +17,7 @@ Copyright (c) .NET Foundation. All rights reserved.
 
   
   
+    Library
     Debug
     AnyCPU
 
@@ -25,8 +26,6 @@ Copyright (c) .NET Foundation. All rights reserved.
 
     AnyCPU
     prompt
-    4
-    $(NoWarn);1701
   
 
   
@@ -34,12 +33,10 @@ Copyright (c) .NET Foundation. All rights reserved.
     true
     false
     bin\Debug\
-    DEBUG;TRACE
   
   
     true
     bin\Release\
-    TRACE
   
 
   
@@ -69,5 +66,7 @@ Copyright (c) .NET Foundation. All rights reserved.
     
     $(DotnetHostPath)
   
-
+  
+  
+  
 
diff --git a/src/Tasks/Microsoft.NETCore.Build.Tasks/build/netstandard1.0/Microsoft.NETCore.Sdk.targets b/src/Tasks/Microsoft.NETCore.Build.Tasks/build/netstandard1.0/Microsoft.NETCore.Sdk.targets
index ba71bf1f88b4..78309f1ff8d1 100644
--- a/src/Tasks/Microsoft.NETCore.Build.Tasks/build/netstandard1.0/Microsoft.NETCore.Sdk.targets
+++ b/src/Tasks/Microsoft.NETCore.Build.Tasks/build/netstandard1.0/Microsoft.NETCore.Sdk.targets
@@ -139,5 +139,6 @@ Copyright (c) .NET Foundation. All rights reserved.
   
   
   
-
+  
+  
 
diff --git a/src/Templates/CSharpTemplatesSetup/CSharpTemplatesSetup.csproj b/src/Templates/CSharpTemplatesSetup/CSharpTemplatesSetup.csproj
index a976b67a259b..fac4794f904e 100644
--- a/src/Templates/CSharpTemplatesSetup/CSharpTemplatesSetup.csproj
+++ b/src/Templates/CSharpTemplatesSetup/CSharpTemplatesSetup.csproj
@@ -2,7 +2,7 @@
 
 
   
-    14.0
+    15.0
     $([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), 'Common.props'))\
   
   
@@ -44,12 +44,19 @@
     TRACE
   
   
-    
+    
       {0c52951f-4eef-4f2f-b587-0bcf6004c459}
-      ConsoleApplication
+      CSharpConsoleApplication
       ProjectTemplates
       false
-      TemplateProjectOutputGroup%3b
+      TemplateProjectOutputGroup
+    
+    
+      {a103c9a3-c76c-4a48-b67c-695fd1cb2f15}
+      CSharpClassLibrary
+      ProjectTemplates
+      false
+      TemplateProjectOutputGroup
     
   
   
diff --git a/src/Templates/CSharpTemplatesSetup/ProjectSelector.pkgdef b/src/Templates/CSharpTemplatesSetup/ProjectSelector.pkgdef
index 86f7a847888e..b516c78d61a0 100644
--- a/src/Templates/CSharpTemplatesSetup/ProjectSelector.pkgdef
+++ b/src/Templates/CSharpTemplatesSetup/ProjectSelector.pkgdef
@@ -1,4 +1,2 @@
 [$RootKey$\Projects\{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}]
 "ProjectSelector"="{3DCC42E7-4611-46AC-8EA8-6F1E9B3D917F}"
-[$RootKey$\Projects\{f184b08f-c81c-45f6-a57f-5abd9991f28f}]
-"ProjectSelector"="{50018B05-93AB-437C-A9EB-F4AD12FF83DD}"
diff --git a/src/Templates/CSharpTemplatesSetup/source.extension.vsixmanifest b/src/Templates/CSharpTemplatesSetup/source.extension.vsixmanifest
index fd66f771c8f2..88dc783d8e54 100644
--- a/src/Templates/CSharpTemplatesSetup/source.extension.vsixmanifest
+++ b/src/Templates/CSharpTemplatesSetup/source.extension.vsixmanifest
@@ -17,6 +17,7 @@
   
   
     
-    
+    
+    
   
 
diff --git a/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpClassLibrary/CSharpClassLibrary.csproj b/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpClassLibrary/CSharpClassLibrary.csproj
new file mode 100644
index 000000000000..167c7fcd1745
--- /dev/null
+++ b/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpClassLibrary/CSharpClassLibrary.csproj
@@ -0,0 +1,66 @@
+
+
+
+  
+    15.0
+    $([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), 'Common.props'))\
+  
+  
+  
+  
+    Debug
+    AnyCPU
+    {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+    {A103C9A3-C76C-4A48-B67C-695FD1CB2F15}
+    Library
+    CSharpClassLibrary
+    v4.6
+    false
+    false
+    false
+    false
+    true
+    false
+    false
+    false
+    false
+    false
+    false
+    true
+    true
+    prompt
+    4
+  
+  
+    true
+    full
+    false
+    bin\Debug\
+    DEBUG;TRACE
+  
+  
+    pdbonly
+    true
+    bin\Release\
+    TRACE
+  
+  
+    
+      project.json.template
+    
+    
+  
+  
+    
+      Designer
+    
+  
+  
+    
+  
+  
+    
+  
+  
+  
+
\ No newline at end of file
diff --git a/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpClassLibrary/Class1.cs b/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpClassLibrary/Class1.cs
new file mode 100644
index 000000000000..58c2c359b3d8
--- /dev/null
+++ b/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpClassLibrary/Class1.cs
@@ -0,0 +1,8 @@
+using System;
+
+namespace $safeprojectname$
+{
+    public class Class1
+    {
+    }
+}
diff --git a/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpClassLibrary/ClassLibrary.vstemplate b/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpClassLibrary/ClassLibrary.vstemplate
new file mode 100644
index 000000000000..4f705e34dc90
--- /dev/null
+++ b/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpClassLibrary/ClassLibrary.vstemplate
@@ -0,0 +1,24 @@
+
+
+  
+    
+    
+    
+    CSharp
+    2.0
+    21
+    1
+    Microsoft.CSharp.NETCore.ClassLibrary
+    true
+    true
+    ClassLibrary
+    true
+    true
+  
+  
+    
+      project.json.template
+      Class1.cs      
+    
+  
+
\ No newline at end of file
diff --git a/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpClassLibrary/ProjectTemplate.csproj b/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpClassLibrary/ProjectTemplate.csproj
new file mode 100644
index 000000000000..f549242870ce
--- /dev/null
+++ b/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpClassLibrary/ProjectTemplate.csproj
@@ -0,0 +1,16 @@
+
+  
+  
+  
+    .NETStandard
+    v1.4
+  
+
+  
+    
+    
+    
+  
+  
+  
+
\ No newline at end of file
diff --git a/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpClassLibrary/project-json-template.json b/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpClassLibrary/project-json-template.json
new file mode 100644
index 000000000000..d83d32f1eb86
--- /dev/null
+++ b/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpClassLibrary/project-json-template.json
@@ -0,0 +1,10 @@
+{
+  "dependencies": {
+    "NETStandard.Library": "1.6",
+    "Microsoft.NETCore.Sdk": "$$buildversion$$"
+  },
+  "frameworks": {
+    "netstandard1.4": {
+    }
+  }
+}
diff --git a/src/Templates/ProjectTemplates/CSharp/.NETCore/ConsoleApplication/project.json b/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpClassLibrary/project.json
similarity index 100%
rename from src/Templates/ProjectTemplates/CSharp/.NETCore/ConsoleApplication/project.json
rename to src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpClassLibrary/project.json
diff --git a/src/Templates/ProjectTemplates/CSharp/.NETCore/ConsoleApplication/ConsoleApplication.csproj b/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpConsoleApplication/CSharpConsoleApplication.csproj
similarity index 94%
rename from src/Templates/ProjectTemplates/CSharp/.NETCore/ConsoleApplication/ConsoleApplication.csproj
rename to src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpConsoleApplication/CSharpConsoleApplication.csproj
index c4b1cbb89e21..8b35165de574 100644
--- a/src/Templates/ProjectTemplates/CSharp/.NETCore/ConsoleApplication/ConsoleApplication.csproj
+++ b/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpConsoleApplication/CSharpConsoleApplication.csproj
@@ -2,7 +2,7 @@
 
 
   
-    14.0
+    15.0
     $([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), 'Common.props'))\
   
   
@@ -13,7 +13,7 @@
     {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
     {0C52951F-4EEF-4F2F-B587-0BCF6004C459}
     Library
-    ConsoleApplication
+    CSharpConsoleApplication
     v4.6
     false
     false
@@ -46,7 +46,7 @@
   
   
     
-      project.json.template    
+      project.json.template
     
     
   
diff --git a/src/Templates/ProjectTemplates/CSharp/.NETCore/ConsoleApplication/ConsoleApplication.png b/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpConsoleApplication/ConsoleApplication.png
similarity index 100%
rename from src/Templates/ProjectTemplates/CSharp/.NETCore/ConsoleApplication/ConsoleApplication.png
rename to src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpConsoleApplication/ConsoleApplication.png
diff --git a/src/Templates/ProjectTemplates/CSharp/.NETCore/ConsoleApplication/ConsoleApplication.vstemplate b/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpConsoleApplication/ConsoleApplication.vstemplate
similarity index 100%
rename from src/Templates/ProjectTemplates/CSharp/.NETCore/ConsoleApplication/ConsoleApplication.vstemplate
rename to src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpConsoleApplication/ConsoleApplication.vstemplate
diff --git a/src/Templates/ProjectTemplates/CSharp/.NETCore/ConsoleApplication/Program.cs b/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpConsoleApplication/Program.cs
similarity index 100%
rename from src/Templates/ProjectTemplates/CSharp/.NETCore/ConsoleApplication/Program.cs
rename to src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpConsoleApplication/Program.cs
diff --git a/src/Templates/ProjectTemplates/CSharp/.NETCore/ConsoleApplication/ProjectTemplate.csproj b/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpConsoleApplication/ProjectTemplate.csproj
similarity index 100%
rename from src/Templates/ProjectTemplates/CSharp/.NETCore/ConsoleApplication/ProjectTemplate.csproj
rename to src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpConsoleApplication/ProjectTemplate.csproj
diff --git a/src/Templates/ProjectTemplates/CSharp/.NETCore/ConsoleApplication/project-json-template.json b/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpConsoleApplication/project-json-template.json
similarity index 100%
rename from src/Templates/ProjectTemplates/CSharp/.NETCore/ConsoleApplication/project-json-template.json
rename to src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpConsoleApplication/project-json-template.json
diff --git a/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpConsoleApplication/project.json b/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpConsoleApplication/project.json
new file mode 100644
index 000000000000..9500d2f14887
--- /dev/null
+++ b/src/Templates/ProjectTemplates/CSharp/.NETCore/CSharpConsoleApplication/project.json
@@ -0,0 +1,11 @@
+{
+  "frameworks": {
+    "net46": {}
+  },
+  "dependencies": {
+    "Microsoft.VSSDK.BuildTools": "15.0.25604-Preview4"
+  },
+  "runtimes": {
+    "win": { }
+  }
+}
\ No newline at end of file
diff --git a/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicClassLibrary/Class1.vb b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicClassLibrary/Class1.vb
new file mode 100644
index 000000000000..bac5ac273460
--- /dev/null
+++ b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicClassLibrary/Class1.vb
@@ -0,0 +1,3 @@
+Public Class Class1
+
+End Class
\ No newline at end of file
diff --git a/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicClassLibrary/ClassLibrary.vstemplate b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicClassLibrary/ClassLibrary.vstemplate
new file mode 100644
index 000000000000..ce962003dab8
--- /dev/null
+++ b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicClassLibrary/ClassLibrary.vstemplate
@@ -0,0 +1,24 @@
+
+
+  
+    
+    
+    
+    VisualBasic
+    2.0
+    21
+    1
+    Microsoft.VisualBasic.NETCore.ClassLibrary
+    true
+    true
+    ClassLibrary
+    true
+    true
+  
+  
+    
+      project.json.template
+      Class1.vb      
+    
+  
+
\ No newline at end of file
diff --git a/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicClassLibrary/ProjectTemplate.vbproj b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicClassLibrary/ProjectTemplate.vbproj
new file mode 100644
index 000000000000..e2427f33543a
--- /dev/null
+++ b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicClassLibrary/ProjectTemplate.vbproj
@@ -0,0 +1,16 @@
+
+  
+  
+  
+    .NETStandard
+    v1.4
+  
+
+  
+    
+    
+    
+  
+  
+  
+
\ No newline at end of file
diff --git a/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicClassLibrary/VisualBasicClassLibrary.csproj b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicClassLibrary/VisualBasicClassLibrary.csproj
new file mode 100644
index 000000000000..a556f3faf371
--- /dev/null
+++ b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicClassLibrary/VisualBasicClassLibrary.csproj
@@ -0,0 +1,66 @@
+
+
+
+  
+    15.0
+    $([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), 'Common.props'))\
+  
+  
+  
+  
+    Debug
+    AnyCPU
+    {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+    {DCDD8266-D269-46BD-B563-E4D4B811A5B1}
+    Library
+    VisualBasicClassLibrary
+    v4.6
+    false
+    false
+    false
+    false
+    true
+    false
+    false
+    false
+    false
+    false
+    false
+    true
+    true
+    prompt
+    4
+  
+  
+    true
+    full
+    false
+    bin\Debug\
+    DEBUG;TRACE
+  
+  
+    pdbonly
+    true
+    bin\Release\
+    TRACE
+  
+  
+    
+      project.json.template
+    
+    
+  
+  
+    
+      Designer
+    
+  
+  
+    
+  
+  
+    
+  
+  
+  
+
\ No newline at end of file
diff --git a/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicClassLibrary/project-json-template.json b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicClassLibrary/project-json-template.json
new file mode 100644
index 000000000000..d83d32f1eb86
--- /dev/null
+++ b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicClassLibrary/project-json-template.json
@@ -0,0 +1,10 @@
+{
+  "dependencies": {
+    "NETStandard.Library": "1.6",
+    "Microsoft.NETCore.Sdk": "$$buildversion$$"
+  },
+  "frameworks": {
+    "netstandard1.4": {
+    }
+  }
+}
diff --git a/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicClassLibrary/project.json b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicClassLibrary/project.json
new file mode 100644
index 000000000000..9500d2f14887
--- /dev/null
+++ b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicClassLibrary/project.json
@@ -0,0 +1,11 @@
+{
+  "frameworks": {
+    "net46": {}
+  },
+  "dependencies": {
+    "Microsoft.VSSDK.BuildTools": "15.0.25604-Preview4"
+  },
+  "runtimes": {
+    "win": { }
+  }
+}
\ No newline at end of file
diff --git a/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicConsoleApplication/ConsoleApplication.png b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicConsoleApplication/ConsoleApplication.png
new file mode 100644
index 000000000000..d7e3ba6865dd
Binary files /dev/null and b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicConsoleApplication/ConsoleApplication.png differ
diff --git a/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicConsoleApplication/ConsoleApplication.vstemplate b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicConsoleApplication/ConsoleApplication.vstemplate
new file mode 100644
index 000000000000..c3cb14dbead9
--- /dev/null
+++ b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicConsoleApplication/ConsoleApplication.vstemplate
@@ -0,0 +1,24 @@
+
+
+  
+    
+    
+    ConsoleApplication.png
+    VisualBasic
+    2.0
+    1
+    1
+    Microsoft.VisualBasic.NETCore.ConsoleApplication
+    true
+    true
+    ConsoleApplication
+    true
+    true
+  
+  
+    
+      project.json.template
+      Program.vb      
+    
+    
+
\ No newline at end of file
diff --git a/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicConsoleApplication/Program.vb b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicConsoleApplication/Program.vb
new file mode 100644
index 000000000000..b769835d4817
--- /dev/null
+++ b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicConsoleApplication/Program.vb
@@ -0,0 +1,7 @@
+Imports System
+
+Module Program
+    Sub Main(args As String())
+        Console.WriteLine("Hello World!");
+    End Sub
+End Module
\ No newline at end of file
diff --git a/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicConsoleApplication/ProjectTemplate.vbproj b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicConsoleApplication/ProjectTemplate.vbproj
new file mode 100644
index 000000000000..07d3d0ba8393
--- /dev/null
+++ b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicConsoleApplication/ProjectTemplate.vbproj
@@ -0,0 +1,17 @@
+
+  
+  
+  
+    Exe
+    .NETCoreApp
+    v1.0
+  
+
+  
+    
+    
+    
+  
+  
+  
+
\ No newline at end of file
diff --git a/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicConsoleApplication/VisualBasicConsoleApplication.csproj b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicConsoleApplication/VisualBasicConsoleApplication.csproj
new file mode 100644
index 000000000000..dd49c281abed
--- /dev/null
+++ b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicConsoleApplication/VisualBasicConsoleApplication.csproj
@@ -0,0 +1,69 @@
+
+
+
+  
+    15.0
+    $([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), 'Common.props'))\
+  
+  
+  
+  
+    Debug
+    AnyCPU
+    {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+    {622C1D9E-A9E1-422D-83DF-CE5CE0AAAF51}
+    Library
+    VisualBasicConsoleApplication
+    v4.6
+    false
+    false
+    false
+    false
+    true
+    false
+    false
+    false
+    false
+    false
+    false
+    true
+    true
+    prompt
+    4
+  
+  
+    true
+    full
+    false
+    bin\Debug\
+    DEBUG;TRACE
+  
+  
+    pdbonly
+    true
+    bin\Release\
+    TRACE
+  
+  
+    
+      project.json.template
+    
+    
+  
+  
+    
+      Designer
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+  
+
\ No newline at end of file
diff --git a/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicConsoleApplication/project-json-template.json b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicConsoleApplication/project-json-template.json
new file mode 100644
index 000000000000..60a7348709ed
--- /dev/null
+++ b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicConsoleApplication/project-json-template.json
@@ -0,0 +1,15 @@
+{
+  "dependencies": {
+    "Microsoft.NETCore.App": {
+      "type": "platform",
+      "version": "1.0.0"
+    },
+    "Microsoft.NETCore.Sdk": {
+      "version": "$$buildversion$$"
+    }    
+  },
+  "frameworks": {
+    "netcoreapp1.0": {
+    }
+  }
+}
diff --git a/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicConsoleApplication/project.json b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicConsoleApplication/project.json
new file mode 100644
index 000000000000..9500d2f14887
--- /dev/null
+++ b/src/Templates/ProjectTemplates/VisualBasic/.NETCore/VisualBasicConsoleApplication/project.json
@@ -0,0 +1,11 @@
+{
+  "frameworks": {
+    "net46": {}
+  },
+  "dependencies": {
+    "Microsoft.VSSDK.BuildTools": "15.0.25604-Preview4"
+  },
+  "runtimes": {
+    "win": { }
+  }
+}
\ No newline at end of file
diff --git a/src/Templates/VisualBasicTemplatesSetup/ProjectSelector.pkgdef b/src/Templates/VisualBasicTemplatesSetup/ProjectSelector.pkgdef
new file mode 100644
index 000000000000..ec7bad9039ba
--- /dev/null
+++ b/src/Templates/VisualBasicTemplatesSetup/ProjectSelector.pkgdef
@@ -0,0 +1,2 @@
+[$RootKey$\Projects\{f184b08f-c81c-45f6-a57f-5abd9991f28f}]
+"ProjectSelector"="{50018B05-93AB-437C-A9EB-F4AD12FF83DD}"
diff --git a/src/Templates/VisualBasicTemplatesSetup/VisualBasicTemplatesSetup.csproj b/src/Templates/VisualBasicTemplatesSetup/VisualBasicTemplatesSetup.csproj
new file mode 100644
index 000000000000..e59b7a3a92d7
--- /dev/null
+++ b/src/Templates/VisualBasicTemplatesSetup/VisualBasicTemplatesSetup.csproj
@@ -0,0 +1,74 @@
+
+
+
+  
+    15.0
+    $([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), 'Common.props'))\
+  
+  
+  
+  
+    Debug
+    AnyCPU
+    {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+    {2A82D3FA-4EBE-425C-A3C7-3DC207591E53}
+    Library
+    Microsoft.VisualStudio
+    Microsoft.VisualStudio.ProjectSystem.VisualBasic.Templates
+    false
+    RoslynDev
+    false
+    false
+    false
+    true
+    v4.6
+    true
+    false
+    true
+    true
+    VisualStudio
+    prompt
+    4
+  
+  
+    true
+    full
+    false
+    bin\Debug\
+    DEBUG;TRACE
+  
+  
+    pdbonly
+    true
+    bin\Release\
+    TRACE
+  
+  
+    
+      {dcdd8266-d269-46bd-b563-e4d4b811a5b1}
+      VisualBasicClassLibrary
+      ProjectTemplates
+      false
+      TemplateProjectOutputGroup
+    
+    
+      {622c1d9e-a9e1-422d-83df-ce5ce0aaaf51}
+      VisualBasicConsoleApplication
+      ProjectTemplates
+      false
+      TemplateProjectOutputGroup
+    
+  
+  
+    
+    
+  
+  
+    
+      true
+      PreserveNewest
+    
+  
+  
+  
+
\ No newline at end of file
diff --git a/src/Templates/VisualBasicTemplatesSetup/project.json b/src/Templates/VisualBasicTemplatesSetup/project.json
new file mode 100644
index 000000000000..3e283137a36b
--- /dev/null
+++ b/src/Templates/VisualBasicTemplatesSetup/project.json
@@ -0,0 +1,11 @@
+{
+  "frameworks": {
+    "net46": { }
+  },
+  "dependencies": {
+    "Microsoft.VSSDK.BuildTools": "15.0.25604-Preview4"
+  },
+  "runtimes": {
+    "win": { }
+  }
+}
\ No newline at end of file
diff --git a/src/Templates/VisualBasicTemplatesSetup/source.extension.vsixmanifest b/src/Templates/VisualBasicTemplatesSetup/source.extension.vsixmanifest
new file mode 100644
index 000000000000..f07e9115a235
--- /dev/null
+++ b/src/Templates/VisualBasicTemplatesSetup/source.extension.vsixmanifest
@@ -0,0 +1,23 @@
+
+
+
+  
+    
+    Visual Basic templates
+    Visual Basic templates
+  
+  
+    
+    
+    
+    
+  
+  
+    
+  
+  
+    
+    
+    
+  
+