Visual Studio Programmer's Guide for the .NET Framework 
Deciding Which Technologies and Tools To Use 

When designing your application, you may need help choosing between different technologies or approaches. This page summarizes the choices and provides links to more information about application development with Visual Studio and the .NET Framework.

What Do You Want to Do with Visual Studio and the .NET Framework? Create a …

Create an Application

With a User Interface

Without an Interface

Executable

Library

  • XML Web service - XML Web services are applications that can exchange interoperable messages in a loosely coupled environment, using standard protocols such as HTTP, XML, XSD, SOAP and WSDL. XML Web services can be accessed from a Web application, a Windows desktop application, or another XML Web service - for details, see Programming the Web with XML Web Services. To learn more about development with Web services in the Distributed System Designers, which are part of Visual Studio Team Edition for Architects, see Overview of ASP.NET Applications on Application Diagrams.

  • .NET component - for details, see Component Authoring

Create a Distributed Application

For a step-by-step example, see Walkthrough: Creating a Distributed Application and Designing Web Services Walkthroughs.

Create a Smart Device Application

Develop Windows CE- and Windows Mobile-based rich-client applications that run on devices such as Smartphones and Pocket PCs. For more information, see Smart Device Development and Design Considerations for Smart Device Development.

If you are targeting the browser on a cell phone, PDA (personal digital assistant), or pager, then use Mobile Web Forms - for details, see Creating ASP.NET Mobile Web Pages.

Create a Data-centric Application

If you ...

  • Are navigating between multiple, discrete tables of results ...

  • Are manipulating data from multiple sources (for example, from different databases, from XML files, spreadsheets, and so on, all in the same dataset) ...

  • Are exchanging data with other applications ...

  • Are reusing the same set of rows and intend to cache them (for example, sorting, searching, and filtering cached results) ...

  • Are doing a lot of processing per row ...

  • Are manipulating the data using XML operations such as XML transforms or XPath ...

  • Want ease of programming ...

Then use a dataset - for details, see Datasets in Visual Studio Overview.

Otherwise, use direct access (data commands and data readers) - for details, see Recommendations for Data Access Strategies.

For example, you would use data commands and data readers for:

  • Performing DDL commands

  • Performing updates or deletes based on a selection criteria

  • Programmatically inserting records that are not based on user interaction

  • Calling stored procedures to execute logic inside the server

  • Retrieving scalar values from the database

  • Processing a set of results in a forward only manner without updating and without caching the results

  • Processing a set of results too large to fit in memory

Web-based Data Applications

For details, see Creating Visual Web Developer Data Applications.

XML Web services are applications that can exchange interoperable messages in a loosely coupled environment, using standard protocols such as HTTP, XML, XSD, SOAP and WSDL. An XML Web service can be accessed from desktop applications (Windows Forms), Web applications, or other XML Web services. For details, see Programming the Web with XML Web Services.

Windows Forms-based Data Applications

Use Windows Forms - for details, see Creating Client Data Applications.

If you ...

  • Are performing DDL commands ...

  • Are calling stored procedures to execute logic inside the server ...

  • Are retrieving scalar values from the database ...

  • Are processing a set of results in a forward-only manner without displaying, updating, or caching the results ...

  • Are processing a set of results too large to fit in memory ...

Then use direct access (data commands and data readers) - for details, see Recommendations for Data Access Strategies

Otherwise, use a dataset - for details, Datasets in Visual Studio Overview.

For example, you would use a dataset if you:

  • Are binding results to a form to let the user view, insert, update, or delete records

  • Are navigating between multiple tables of results

  • Are manipulating data from multiple sources (for example, from different databases, from XML files, spreadsheets, and so on, all in the same dataset)

  • Are exchanging data with other applications

  • Are reusing the same set of rows (for example, sorting, searching, and filtering retrieved results)

  • Are manipulating the data using XML operations such as XML transforms or XPath

Smart Device-based Data Applications

Office-based Data Applications

For details, see Data in Office Solutions.

Create an XML Web Service

There are several walkthroughs to help you create an XML Web service. For details see Creating and Accessing XML Web Services Walkthroughs. Also see Accessing XML Web Services in Managed Code.

For a step-by-step example of accessing an XML Web service from a Windows application, see Walkthrough: Calling XML Web Services from Windows Forms.

For a step-by-step example of accessing an XML Web service from a Windows application, see Walkthrough: Accessing an XML Web Service Using Visual Basic or Visual C#.

For a step-by-step example of designing and evaluating the deployment of XML Web services in the Distributed System Designers, see Introductory Distributed System Designer Walkthroughs.

Create an Office Development Solution

Microsoft Visual Studio 2005 Tools for the Microsoft Office System enables you to customize Microsoft Office documents and Microsoft Office Outlook using managed code.

For details about creating solutions using Office applications, see Common Tasks in Office Programming.

Create Custom Controls or Components

For details about working with Windows Forms controls (including securing applications, setting properties, handling events, anchoring controls, and so forth), see Windows Forms Controls.

For help deciding which way to create a control, see Control Type Recommendations.

Windows Forms Controls

For details, see Developing Windows Forms Controls at Design Time.

Web Controls

COM

Components

Automate Tasks or Extend the Environment

For help deciding whether you need a macro, add-in, or wizard, see The Spectrum of Visual Studio Automation. In addition, also see Choosing the Appropriate Automation Approach.

For details, see Introduction to Project Extensibility

For advanced customization of the development environment, such as creating a new project type or a customized editor - see the " Visual Studio Integrator Program (VSIP)" section of The Spectrum of Visual Studio Automation

Build, Debug, or Test

To learn more about the Visual Studio build options available to you, see Building in Visual Studio.

For general information about debugging in Visual Studio, see Debugger Roadmap.

For details, see:

Profile an Application

For details, see Tracing and Instrumenting Applications.

Deploy an Application

For help choosing which deployment project type to use, see Choosing a Deployment Strategy and Setup and Deployment Projects.

Visual Studio solution. For details, see Publishing ClickOnce Applications.

Web Application For details, see Deployment of a Web Setup Project.

Web Services For details, see How to: Deploy XML Web Services in Managed Code.

Windows Applications For an example, see Walkthrough: Deploying a Windows-based Application.

NET component. For details, see Merge Module Projects. For a step-by-step example, see Walkthrough: Installing Shared Components Using Merge Modules.

ActiveX control For details, see Cab File Projects. For a step-by-step example, see How to: Create or Add a Cab Project.

Evaluate the deployment of an application system into a target datacenter using Visual Studio Team Edition for Architects, see Walkthrough: Validating an Application System for Deployment and Evaluating System Deployment with Deployment Designer.

Upgrade from a Previous Version

Visual Basic. For details, see Upgrading Applications Created in Previous Versions of Visual Basic.

C#. For details, see Upgrading Visual C# Applications to Visual Studio 2005

C++. For details, see Porting and Upgrading Programs

J#. For details, see Visual J# Upgrading Reference

J++. For details, see How to: Convert a Visual J++ Project

Learn about Features

What's New

Samples

See Also

Other Resources

.NET Framework Class Library in Visual Studio
Overview of the .NET Framework

Tags :


Community Content

pmasclark
Windows Application without interface.
<!-- Begin Excerpt //-->

Without an Interface
Executable
Command-line application - for details, see Console Application Template

Windows service (formerly known as an "NT service") - a long-running Windows executable - for details, see Windows Service Applications

<!-- End Excerpt //-->

 

It is also possible and sometimes desired to create a Windows Application without an interface.  I have run into security issues that appear with I use a console application versus a windows application without an interface.  If someone can post more about the security model here I would appreciate it, or I will post it when I figure out the issues.

 

Tags :

Page view tracker