VS: ProjectTypeGuids and file-types

Last updated 2013-09-11

I was missing a project type for my Visual Studio installation. Some are identified by file type and some by ProjectTypeGuids.  There might be other ways, too.

The project type Guids are stored in the registry key

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<version>\Projects\ or
  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\<version>\Projects\

Here is a list of some ProjectTypeGuids

Database					{A9ACE9BB-CECE-4E62-9AA4-C7E7C5BD2124}
Database (other project types)			{4F174C21-8C12-11D0-8340-0000F80270F8}
Deployment Cab					{3EA9E505-35AC-4774-B492-AD1749C4943A}
Deployment Merge Module				{06A35CCD-C46D-44D5-987B-CF40FF872267}
Deployment Setup				{978C614F-708E-4E1A-B201-565925725DBA}
Deployment Smart Device Cab			{AB322303-2255-48EF-A496-5904EB18DA55}
Disdivibuted System				{F135691A-BF7E-435D-8960-F99683D2D49C}
Legacy (2003) Smart Device (C#)			{20D4826A-C6FA-45DB-90F4-C717570B9F32}
Legacy (2003) Smart Device (VB.NET)		{CB4CE8C6-1BDB-4DC7-A4D3-65A1999772F8}
SharePoint (C#)					{593B0543-81F6-4436-BA1E-4747859CAAE2}
SharePoint (VB.NET)				{EC05E597-79D4-47f3-ADA0-324C4F7C7484}
SharePoint Workflow				{F8810EC1-6754-47FC-A15F-DFABD2E3FA90}
Silverlight					{A1591282-1198-4647-A2B1-27E5FF5F6F3B}
Smart Device (C#)				{4D628B5B-2FBC-4AA6-8C16-197242AEB884}
Smart Device (VB.NET)				{68B1623D-7FB9-47D8-8664-7ECEA3297D4F}
Test						{3AC096D0-A1C2-E12C-1390-A8335801FDAB}
Visual Database Tools				{C252FEB5-A946-4202-B1D4-9916A0590387}
Visual Studio Tools for Applications (VSTA)	{A860303F-1F3F-4691-B57E-529FC101A107}
Visual Studio Tools for Office (VSTO)		{BAA0C2D2-18E2-41B9-852F-F413020CAA33}
Visual Studio Tools for Office Visual C# Add-in	{04D02946-0DBE-48F9-8383-8B75A5B7BA34}
Visual Studio Tools for Office SharePoint	{BB1F664B-9266-4fd6-B973-E1E44974B511}
Web Application					{349C5851-65DF-11DA-9384-00065B846F21}
Web Site					{E24C65DC-7377-472B-9ABA-BC803B73C61A}
Windows (C#)					{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
Windows (VB.NET)				{F184B08F-C81C-45F6-A57F-5ABD9991F28F}
Windows (Visual C++)				{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}
Windows Communication Foundation (WCF)		{3D9AD99F-2412-4246-B90B-4EAA41C64699}
Windows Presentation Foundation (WPF)		{60DC8134-EBA5-43B8-BCC9-BB4BC16C2548}
Workflow (C#)					{14822709-B5A1-4724-98CA-57A101D1B079}
Workflow (VB.NET)				{D59BE175-2ED0-4C54-BE3D-CDAA9F3214C8}
XNA (Windows)					{6D335F3A-9D43-41b4-9D22-F6F17C4BE596}
XNA (XBox)					{2DF5C3F4-5A5F-47a9-8E94-23B4456F55E2}
XNA (Zune)					{D399B71A-8929-442a-A9AC-8BEC78BB2433}

Sample file: x.csproj

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

File types:

.csproj		C#
.pssproj	PowerGui	http://powerguivsx.codeplex.com/
.sqlproj	Database

Installing templates

One easy way to get more templates (VS2012) is to install all that are present in your PC:

C:\Windows\system32>cd "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\"
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE>devenv /installvstemplates

Thanks to

Database SSDT project

If you try to build a database project and it complains out it cannot build a .dacpac file, then you need to install SQL Server Data Tools (SSDT).

After build you choose publish and select a publishing profile (1). If you have one for localhost (2) it should create a new DB for you when you press Publish (3).

SSDT Publish

SSDT reports:

SSDT Data Tools Operations

In \bin\Debug\DeploymentReport.txt it shows a summary of what the SQL script contains:

** Highlights
 Tables that will be rebuilt
 Clustered indexes that will be dropped
 Clustered indexes that will be created
 Possible data issues

** User actions
 [dbo].[Category] (Table)
 [dbo].[CategoryLog] (Table)
 [dbo].[CategoryLog].[ixCategoryLog] (Index)
 [dbo].[FK_CategoryLog_Category] (Foreign Key)
 [dbo].[FK_CategoryLog_Log] (Foreign Key)
 [dbo].[ClearLogs] (Procedure)
 [dbo].[DeleteLog] (Procedure)
 [dbo].[InsertCategoryLog] (Procedure)
 [dbo].[TruncateLog] (Procedure)
 [dbo].[WriteLog] (Procedure)
 [dbo].[AddCategory] (Procedure)

** Supporting actions

In a SQL connection view you can see the SQL script and the result of executing it:

\bin\Debug\MyDB on LocalHost.publish.sql:

SSDT SQL connection

The End.


One Comment

Add yours →

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: