Visual Studio .NET also supports a variety of other project types.
There is one kind of database project supported by Visual Studio .NET:
This project template is unusual in that projects of this type are never built and do not produce any output. Database projects just contain SQL scripts. (You can execute these scripts on a database if you choose to but would not usually do so as part of the normal build process of a solution.) These projects can contain creation scripts, which allow you to build new databases with a particular schema. They can also contain change scripts, which track changes you have made to a database, and let you apply these changes to another database. Note that you are not required to create a Database project just to use the visual Database tools (the interactive tools that let you add and edit tables and stored procedures). These tools can be used in any context. However, if you have a database project open while you use these tools, they are able to keep track of the changes you make. See Chapter 5 for more information on the visual database tools and database projects.
Enterprise Template Projects are a special kind of project in VS.NET that are available only in the Enterprise editions. Software architects can use these to create a blueprint of the way in which a particular type of application should be built within their organization. Based upon these templates, programmers can create applications or components that will automatically conform to the prescribed architecture. (Most of the templates described next are prebuilt architectures that ship with VS.NET, but you can use the Enterprise Template Project to add your own.) See the VS.NET documentation for more information about how to use and make these types of projects.
This creates a solution with seven different projects (each intended to be a different layer in a single distributed application):
Web Service Projects
WebUI and WinUI
This template creates the same set of projects as the Visual Basic Simple Distributed Application, but using C#.
This template creates the same number of projects as the Visual Basic Simple Distributed Application (seven), but with each of those projects holding onto subprojects of each type (i.e., allowing multiple Data Access or Web Service projects in one distributed application).
This template creates the same set of projects as the Visual Basic Distributed Application, but using C#.
This template creates the same set of projects as the Visual Basic or C# Distributed Application but allows each individual project to use either VB or C#.
This template creates a project that allows you to specify how you would like a distributed application built and generates a new project template that can be used in VS.NET.
A building block project is a type of project that you can add to an Enterprise Template Project. The following types are included with VS.NET, but others can, of course, be added and customized to your own specification.
This type of project is used to create a shim layer to isolate the UI layer from the Business Rules layer in an application.
This project type is intended to hold the classes that implement the main business rules.
This project type holds the classes that access the database for the Business Rules layer.
This project type holds the classes that perform system-level services (e.g., caching of HTML pages). Such projects may or may not be application-specific.
This creates a web service project that is intended to be the shim layer between the web service-based client and the business layer (similar to the Business FaÃ§ade layer, but accessible remotely).
This creates a web application using ASP.NET that is used to expose the application (using the Business FaÃ§ade layer) to HTML-based clients.
This creates a Windows application that is used to create a UI for the application. (This would typically access the application logic via the ASP.NET Web Service layer.)
Visual Studio Analyzer is a tool used for simple performance monitoring of the applications you create using VS.NET.
This steps you through a wizard to create a project that you can use to monitor your application.
This template creates an empty Analyzer Project to which you can add different parts of your application in order to monitor their performance using Visual Studio Analyzer.
The following extensibility projects are available under Visual Studio .NET:
This template creates a VS.NET add-in. You can use C++ (unmanaged), C#, or Visual Basic. (This template does not support J#.) See Chapter 8 for more information about writing add-ins.
This template creates an add-in that can be loaded into multiple hosts (e.g., VS.NET, Office, etc.).
The following Application Center Test project is available under Visual Studio .NET:
This template creates a project for testing a web application with Application Center Test.