Microsoft Certifications are broadly grouped in series that
map to job roles. If you are new to technology, you might
want to start by exploring our specialist certifications.
Seasoned IT professionals and developers should consider
advanced Professional or Master series certifications.
Specialist SeriesThe Microsoft Certified Technology Specialist (MCTS) series credential demonstrates in-depth knowledge of a
key Microsoft product or technology, validating your ability to implement, build, troubleshoot, and debug a
particular Microsoft technology, such as Windows Server, Microsoft .NET Framework, or Microsoft SQL Server.
Choose from more than 30 certifications, with more being added as new technologies are introduced.
Earning an MCTS certification typically requires that you successfully pass one to three exams and have at
least one year of relevant experience.
Learn more about the Microsoft Certified Technology Specialist (MCTS) credential
Professional Series
The Professional Series credential validates a comprehensive set of job-related skills, such as project
management, system design, operations management, and planning. Demonstrate your focus on a single
job role, thereby providing a reliable indicator of on-the-job performance. Typically, a Professional Series
certification requires that you pass one to three exams and have one or more technology certifications.
Choose from two Professional Series certifications, which are based on job roles:
Microsoft Certified IT Professional (MCITP)
Microsoft Certified Professional Developer (MCPD)
Master Series
Earning a Microsoft Certified Master (MCM) certification shows that you can successfully design and
implement solutions that solve highly complex business challenges. The courses are taught by experts from
Microsoft and Microsoft partner organizations that offer exclusive, advanced technical training.
MCM certifications involve expert-level classroom training, labs that incorporate real-world customer
scenarios, and both computer- and lab-based exams. Choose from certifications that focus on specific
technologies, such as Microsoft Exchange Server 2007, Windows Server 2008 – Directory, and Microsoft
Office SharePoint Server 2007.
Explore Microsoft Certified Master certifications
Architect Series
A Microsoft Certified Architect (MCA) is considered an industry expert in IT architecture, with five or more
years of advanced experience and proven technical expertise and leadership. To obtain the MCA credential,
you must demonstrate competencies of business acumen and technology proficiency during a Review Board
interview with a panel of industry experts. Three certification tracks are available:
MCA Technology programs
MCA Infrastructure program
MCA Solutions program
Microsoft Certified Technology Specialist (MCTS)When you earn a Microsoft Certified Technology Specialist (MCTS) certification, you validate your in-depth
technical knowledge and skill in using the features and functionality of key technology areas in Microsoft
Visual Studio and the Microsoft .NET Framework to design software applications.
You can earn a single certification to show your depth of knowledge in a specific Visual Studio technology,
earn multiple certifications to demonstrate your breadth of understanding across different specialties, or
build on your MCTS certification to earn a Professional Series credential.
Individual MCTS certifications will be retired when Microsoft discontinues mainstream support
for the related technology.
Technology Usage Certification Exam
Visual Studio
2005
Developing Windows-based
applications that include
Windows Forms technology
and data access
MCTS: .NET Framework 2.0:
Windows Applications
Exam 70-536: TS:
Microsoft .NET
Framework –
Application
Development
Foundation
and
Exam 70-526: TS:
Microsoft .NET
Framework 2.0 -
Windows-Based
Client Development
Visual Studio
2005
Developing Web-based
applications that run on
ASP.NET and the .NET
Framework 2.0
MCTS: .NET Framework 2.0:
Web Applications
Exam 70-536: TS:
Microsoft .NET
Framework –
Application
Development
Foundation
and
Exam 70–528: TS:
Microsoft .NET
Framework 2.0 -
Web-based Client
Development
Visual Studio
2005
Developing distributed
applications that
demonstrate a knowledge of
Web services, .NET
remoting, Enterprise
MCTS: .NET Framework 2.0:
Distributed Applications
Exam 70-536: TS:
Microsoft .NET
Framework –
Application
Development
Technology Usage Certification Exam
Services, and Message
Queuing technology
Foundation
and
Exam 70-529: TS:
Microsoft .NET
Framework 2.0 -
Distributed
Application
Development
Visual Studio
2008
Creating applications that
run on the Windows
platform and compelling
user interfaces with
Windows Presentation
Foundation
MCTS: .NET Framework 3.5,
Windows Presentation
Foundation Applications
Exam 70-536: TS:
Microsoft .NET
Framework –
Application
Development
Foundation
and
Exam 70-502: TS:
Microsoft .NET
Framework 3.5,
Windows
Presentation
Foundation
Application
Development
Visual Studio
2008
Creating distributed
applications that
communicate with servers
or other applications in a
connected or disconnected
state
MCTS: .NET Framework 3.5,
Windows Communication
Foundation Applications
Exam 70-536: TS:
Microsoft .NET
Framework –
Application
Development
Foundation
and
Exam 70-503: TS:
Microsoft .NET
Framework 3.5 –
Windows
Communication
Foundation
Application
Development
Visual Studio
2008
Creating applications that
host workflows for your
organization
MCTS: .NET Framework 3.5,
Windows Workflow
Foundation Applications
Exam 70-536: TS:
Microsoft .NET
Framework –
Application
Development
Foundation
and
Technology Usage Certification Exam
Exam 70-504: TS:
Microsoft .NET
Framework 3.5 –
Windows Workflow
Foundation
Application
Development
Visual Studio
2008
Creating Windows-based
applications that run on
corporate servers or user
desktop computers
MCTS: .NET Framework
3.5, Windows Forms
Applications
Exam 70-536: TS:
Microsoft .NET
Framework –
Application
Development
Foundation
and
Exam 70-505: TS:
Microsoft .NET
Framework 3.5,
Windows Forms
Application
Development
Visual Studio
2008
Creating data-driven
applications that access
data from various sources,
such as SQL Server, Oracle,
Microsoft Office Access,
object data sources, XML, or
other flat-file sources
MCTS: .NET Framework 3.5,
ADO.NET Applications
Exam 70-536: TS:
Microsoft .NET
Framework –
Application
Development
Foundation
and
Exam 70-561: TS:
Microsoft .NET
Framework 3.5,
ADO.NET
Application
Development
Visual Studio
2008
Creating Web-based
applications that run on
the ASP.NET platform
and are hosted on
Internet Information
Server
MCTS: .NET Framework
3.5, ASP.NET
Applications
Exam 70-536: TS:
Microsoft .NET
Framework –
Application
Development
Foundation
and
Exam 70-562: TS:
Microsoft .NET
Framework 3.5,
ASP.NET
Application
Technology Usage Certification Exam
Development
When you earn the Microsoft Certified Professional Developer (MCPD) credential, you demonstrate your
expertise in using Microsoft Visual Studio and the Microsoft .NET Framework to excel in a specific, market-
relevant job role.
We offer three professional certification paths that build on the MCTS certifications.
Read about MCTS certifications
Learn more about the MCPD credential
Exam 70-536:
TS: Microsoft .NET Framework - Application Development Foundation
Note If you pass this exam, you do not earn a certification, but you do earn access to the Microsoft Certified Professional (MCP) member site, your Microsoft transcript, and other MCP community benefits. You only need to pass this exam once.
About this Exam
This Technology Specialist (TS) exam, Exam 70-536: TS: Microsoft .NET Framework, Application
Development Foundation, became available in March 2006. This exam is available in English, French,
German, Japanese, and Chinese (Simplified). Exam 70-536 is designed to measure your knowledge
of .NET development fundamentals and is not tied to a particular version of .NET. Since the exam is
now applicable to both Microsoft .NET Framework 2.0 and Microsoft .NET Framework 3.5 certification
tracks, we have changed the name of the exam. Formerly TS: Microsoft .NET Framework 2.0 –
Application Development Foundation, Exam 70-536 is now called TS: Microsoft .NET Framework,
Application Development Foundation. If you are a .NET 2.0 developer, you do not need to learn .NET
3.5 to pass Exam 70-536; conversely, if you are a .NET 3.5 developer, you do not need to
review .NET 2.0 to pass the exam.
Audience Profile
Candidates for this exam work on a team in a medium-sized or large development environment that
uses Microsoft Visual Studio .NET 2003 Enterprise Developer, Microsoft Visual Studio 2005, or
Microsoft Visual Studio 2008. Candidates should have at least two to three years of experience
developing Web-based, Windows-based, or distributed applications by using the Microsoft .NET
Framework 1.0, the .NET Framework 1.1, the .NET Framework 2.0, or the .NET Framework 3.5.
Candidates should have a working knowledge of Microsoft Visual Studio 2005 or Visual Studio 2008.
Credit Toward CertificationExam 70-536: TS: Microsoft .NET Framework - Application
Development Foundation: counts as credit toward the following certification(s):
Microsoft Certified Technology Specialist (MCTS): .NET Framework 2.0 Web Applications
Microsoft Certified Technology Specialist (MCTS): .NET Framework 2.0 Windows
Applications
Microsoft Certified Technology Specialist (MCTS): .NET Framework 2.0 Distributed
Applications
Microsoft Certified Technology Specialist (MCTS): .NET Framework 3.5, Windows
Presentation Foundation Applications
Microsoft Certified Technology Specialist (MCTS): .NET Framework 3.5, Windows
Communication Foundation Applications
Microsoft Certified Technology Specialist (MCTS): .NET Framework 3.5, Windows Workflow
Foundation Applications
Microsoft Certified Technology Specialist (MCTS): .NET Framework 3.5, Windows Forms
Applications
Microsoft Certified Technology Specialist (MCTS): .NET Framework 3.5, ADO.NET
Applications
Microsoft Certified Technology Specialist (MCTS): .NET Framework 3.5, ASP.NET
Applications
Skills Being Measured
This exam measures your ability to accomplish the technical tasks listed below.The percentages
indicate the relative weight of each major topic area on the exam.
Developing applications that use system types and collections (15 percent)
Manage data in a .NET Framework application by using .NET Framework system types.
May include but is not limited to: Value types; Nullable type; Reference types; Attributes;
Generic types; Exception classes; Boxing and UnBoxing ; TypeForwardedToAttribute class
Manage a group of associated data in a .NET Framework application by using collections.
May include but is not limited to: ArrayList class; Collection interfaces; Iterators; Hashtable
class; CollectionBase class and ReadOnlyCollectionBase class; DictionaryBase class and
DictionaryEntry class; Comparer class; Queue class; SortedList class; BitArray class; Stack
class
Improve type safety and application performance in a .NET Framework application by
using generic collections.
May include but is not limited to: Collection.Generic interfaces; Generic Dictionary; Generic
Comparer class and Generic EqualityComparer class; Generic KeyValuePair structure; Generic
List class, Generic List.Enumerator structure, and Generic SortedList class; Generic Queue
class and Generic Queue.Enumerator structure; Generic SortedDictionary class; Generic
LinkedList; Generic Stack class and Generic Stack.Enumerator structure
Manage data in a .NET Framework application by using specialized collections.
May include but is not limited to: Specialized String classes; Specialized Dictionary; Named
collections; CollectionsUtil; BitVector32 structure and BitVector32.Section structure
Implement .NET Framework interfaces to cause components to comply with standard
contracts.
May include but is not limited to: IComparable interface; IDisposable interface; IConvertible
interface; ICloneable interface; IEquatable interface; IFormattable interface
Control interactions between .NET Framework application components by using events
and delegates.
May include but is not limited to: Delegate class; EventArgs class; EventHandler delegates
Implementing service processes, threading, and application domains in a .NET
Framework application (11 percent)
Implement, install, and control a service.
May include but is not limited to: Inherit from ServiceBase class; ServiceController class and
ServiceControllerPermission class; ServiceInstaller and ServiceProcessInstaller class;
SessionChangeDescription structure and SessionChangeReason enumeration
Develop multithreaded .NET applications.
May include but is not limited to: Thread class; ThreadPool class; ThreadStart delegate,
ParameterizedThreadStart delegate, and SynchronizationContext class; Timeout class, Timer
class, TimerCallback delegate, WaitCallback delegate, WaitHandle class, and
WaitOrTimerCallback delegate; ThreadExceptionEventArgs class and
ThreadExceptionEventHanlder class; ThreadState enumeration and ThreadPriority
enumeration; ReaderWriterLock class; AutoResetEvent class and ManualResetEvent class;
IAsyncResult interface and ICancelableAsyncResult interface (refer System Namespace);
EventWaitHandle class, RegisterWaitHandle class, SendOrPostCallback delegate and
IOCompletionCallback delegate; Interlocked class, NativeOverlapped structure and Overlapped
class; ExecutionContext class, HostExecutionContext class, HostExecutionContextManager
class, and ContextCallback delegate; LockCookie structure, Monitor class, Mutex class, and
Semaphore class
Create a unit of isolation for common language runtime within a .NET Framework
application by using application domains.
May include but is not limited to: Create an application domain; Unload an application domain;
Configure an application domain; Retrieve setup information from an application domain; Load
assemblies into an application domain
Embedding configuration, diagnostic, management, and installation features into a .NET
Framework application (14 percent)
Embed configuration management functionality into a .NET Framework application.
May include but is not limited to: Configuration class and ConfigurationManager class;
ConfigurationSettings class, ConfigurationElement class, ConfigurationElementCollection class
and ConfigurationElementProperty class; Implement IConfigurationSectionHandler interface;
ConfigurationSection class, ConfigurationSectionCollection class, ConfigurationSectionGroup
class and ConfigurationSectionGroupCollection class; Implement ISettingsProviderService
interface; Implement IApplicationSettingsProvider interface; ConfigurationValidationBase class;
Implement IConfigurationSystem interface
Create a custom Microsoft Windows Installer for .NET components by using the
System.Configuration.Install namespace, and configure .NET Framework applications by using
configuration files, environment variables, and the .NET Framework Configuration tool
(Mscorcfg.msc).
May include but is not limited to: Installer class; Configure which runtime version a .NET
Framework application should use; Configure where the runtime should search for an
assembly; Configure the location of an assembly and which version of the assembly to use;
Direct the runtime to use the DEVPATH environment variable when searching for assemblies;
AssemblyInstaller class; ComponentInstaller class; Configure a .NET Framework application by
using the .NET Framework Configuration tool (Mscorcfg.msc); ManagedInstallerClass;
InstallContext class; InstallerCollection class; Implement IManagedInstaller interface;
InstallEventHandler delegate; Configure concurrent garbage collection; Register remote
objects by using configuration files
Manage an event log by using the System.Diagnostics namespace.
May include but is not limited to: Write to an event log; Read from an event log; Create a new
event log
Manage system processes and monitor the performance of a .NET application by using
the diagnostics functionality of the .NET Framework.
May include but is not limited to: Get a list of all running processes; Retrieve information about
the current process; Get a list of all modules loaded by a process; PerformanceCounter class,
PerformanceCounterCategory and CounterCreationData class; Start a process both by using
and by not using command-line arguments; StackTrace class; StackFrame class
Debug and trace a .NET Framework application by using the System.Diagnostics
namespace.
May include but is not limited to: Debug class; Debugger class; Trace class,
CorrelationManager class; TraceListener class; TraceSource class; TraceSwitch class;
XmlWriterTraceListener class; DelimitedListTraceListener class and EventlogTraceListener
class; Debugger attributes
Embed management information and events into a .NET Framework application.
May include but is not limited to: Retrieve a collection of Management objects by using the
ManagementObjectSearcher class and its derived classes; ManagementQuery class; Subscribe
to management events by using the ManagementEventWatcher class
Implementing serialization and input/output functionality in a .NET Framework
application (18 percent)
Serialize or deserialize an object or an object graph by using runtime serialization
techniques.
May include but is not limited to: Serialization interfaces; Serialization attributes;
SerializationEntry structure and SerializationInfo class; ObjectManager class; Formatter class,
FormatterConverter class, and FormatterServices class; StreamingContext structure
Control the serialization of an object into XML format by using the
System.Xml.Serialization namespace.
May include but is not limited to: Serialize and deserialize objects into XML format by using the
XmlSerializer class; Control serialization by using serialization attributes; Implement XML
serialization interfaces to provide custom formatting for XML serialization; Delegates and event
handlers provided by the System.Xml.Serialization namespace
Implement custom serialization formatting by using the Serialization Formatter classes.
May include but is not limited to: SoapFormatter; BinaryFormatter class
Access files and folders by using the File System classes.
May include but is not limited to: File class and FileInfo class; Directory class and DirectoryInfo
class; DriveInfo class and DriveType enumeration; FileSystemInfo class and FileSystemWatcher
class; Path class; ErrorEventArgs class and ErrorEventHandler delegate; RenamedEventArgs
class and RenamedEventHandler delegate
Manage byte streams by using Stream classes.
May include but is not limited to: FileStream class; Stream Class (NOT Readers and Writer
classes, as they are separate objectives); MemoryStream class; BufferedStream class
Manage .NET Framework application data by using Reader and Writer classes.
May include but is not limited to: StringReader class and StringWriter class; TextReader class
and TextWriter class; StreamReader class and StreamWriter class; BinaryReader class and
BinaryWriter class
Compress or decompress stream information in a .NET Framework application and
improve the security of application data by using isolated storage.
May include but is not limited to: IsolatedStorageFile class; IsolatedStorageFileStream class;
DeflateStream class; GZipStream class
Improving the security of .NET Framework applications by using the .NET Framework
security features (20 percent)
Implement code access security to improve the security of a .NET Framework application.
May include but is not limited to: SecurityManager class; CodeAccessPermission class; Modify
the Code Access Security Policy at machine, user, and enterprise policy level by using the
Caspol tool; PermissionSet class, NamedPermissionSet class, and PermissionSetCollection
class; Standard Security interfaces
Implement access control by using the System.Security.AccessControl classes.
May include but is not limited to: DirectorySecurity class, FileSecurity class, FileSystemSecurity
class, and RegistrySecurity class; AccessRule class; AuthorizationRule class and
AuthorizationRuleCollection class; CommonAce class, CommonAcl class, CompoundAce class,
GeneralAce class, and GeneralAcl class; AuditRule class; MutexSecurity class, ObjectSecurity
class, and SemaphoreSecurity class
Implement a custom authentication scheme by using the System.Security.Authentication
classes.
May include but is not limited to: Authentication algorithms and SSL protocols
Encrypt, decrypt, and hash data by using the System.Security.Cryptography classes.
May include but is not limited to: DES class and DESCryptoServiceProvider class;
HashAlgorithm class; DSA class and DSACryptoServiceProvider class; SHA1 class and
SHA1CryptoServiceProvider class; TripleDES and TripleDESCryptoServiceProvider class; MD5
class and MD5CryptoServiceProvider class; RSA class and RSACryptoServiceProvider class;
RandomNumberGenerator class; CryptoStream class; CryptoConfig class; RC2 class and
RC2CryptoServiceProvider class; AssymetricAlgorithm class; ProtectedData class and
ProtectedMemory class; RijndaelManaged class and RijndaelManagedTransform class;
CspParameters class; CryptoAPITransform class; Hash-Based Message Authentication Code
(HMAC)
Control permissions for resources by using the System.Security.Permission classes.
May include but is not limited to: SecurityPermission class; PrincipalPermission class;
FileIOPermission class; StrongNameIdentityPermission class; UIPermission class;
UrlIdentityPermission class; PublisherIdentityPermission class; GacIdentityPermission class;
FileDialogPermission class; DataProtectionPermission class; EnvironmentPermission class;
IUnrestrictedPermission interface; RegistryPermission class; IsolatedStorageFilePermission
class; KeyContainerPermission class; ReflectionPermission class; StorePermission class;
SiteIdentityPermission class; ZoneIdentityPermission class
Control code privileges by using System.Security.Policy classes. May include but is not
limited to: ApplicationSecurityInfo class and ApplicationSecurityManager class;
ApplicationTrust class and ApplicationTrustCollection class; Evidence and
PermissionRequestEvidence class; CodeGroup class, FileCodeGroup class,
FirstMatchCodeGroup class, NetCodeGroup class, and UnionCodeGroup class; Condition
classes; PolicyLevel and PolicyStatement class; IApplicationTrustManager interface,
IMembershipCondition interface, and IIdentityPermissionFactory interface
Access and modify identity information by using the System.Security.Principal classes.
May include but is not limited to: GenericIdentity class and GenericPrincipal class;
WindowsIdentity class and WindowsPricipal class; NTAccount class and SecurityIdentifier class;
IIdentity interface and IPrincipal interface; WindowsImpersonationContext class;
IdentityReference class and IdentityReferenceCollection class
Implementing interoperability, reflection, and mailing functionality in a .NET Framework
application (11 percent)
Expose COM components to the .NET Framework and .NET Framework components to
COM.
May include but is not limited to: Import a type library as an assembly; Create COM types in
managed code; Compile an interop project; Deploy an interop application; Qualify .NET types
for interoperation; Apply Interop attributes, such as the ComVisibleAttribute class; Package an
assembly for COM; Deploy an application for COM access.
Call unmanaged DLL functions within a .NET Framework application, and control the
marshalling of data in a .NET Framework application.
May include but is not limited to: Platform Invoke; Create a class to hold DLL functions; Create
prototypes in managed code; Call a DLL function; Call a DLL function in special cases, such as
passing structures and implementing callback functions; Create a new Exception class and
map it to an HRESULT; Default marshalling behavior; Marshal data with Platform Invoke;
Marshal data with COM Interop; MarshalAsAttribute class and Marshal class
Implement reflection functionality in a .NET Framework application, and create metadata,
Microsoft intermediate language (MSIL), and a PE file by using the System.Reflection.Emit
namespace.
May include but is not limited to: Assembly class; Assembly Attributes; Info classes; Binder
class and BindingFlags; MethodBase class and MethodBody class; Builder classes
Send electronic mail to a Simple Mail Transfer Protocol (SMTP) server for delivery from
a .NET Framework application.
May include but is not limited to: MailMessage class; MailAddress class and
MailAddressCollection class; SmtpClient class, SmtpPermission class, and
SmtpPermissionAttribute class; Attachment class, AttachmentBase class, and
AttachmentCollection class; SmtpException class, SmtpFailedReceipientException class, and
SmtpFailedReceipientsException class; SendCompletedEventHandler delegate;
LinkedResource class and LinkedResourceCollection class; AlternateView class and
AlternateViewCollection class
Implementing globalization, drawing, and text manipulation functionality in a .NET
Framework application (11 percent)
Format data based on culture information.
May include but is not limited to: Access culture and region information within a .NET
Framework application; Format date and time values based on the culture; Format number
values based on the culture; Perform culture-sensitive string comparison; Build a custom
culture class based on existing culture and region classes.
Enhance the user interface of a .NET Framework application by using the
System.Drawing namespace.
May include but is not limited to: Enhance the user interface of a .NET Framework application
by using brushes, pens, colors, and fonts; Enhance the user interface of a .NET Framework
application by using graphics, images, bitmaps, and icons; Enhance the user interface of
a .NET Framework application by using shapes and sizes.
Enhance the text handling capabilities of a .NET Framework application, and search,
modify, and control text within a .NET Framework application by using regular expressions.
May include but is not limited to: StringBuilder class; Regex class; Match class and
MatchCollection class; Group class and GroupCollection class; Encode text by using Encoding
classes.; Decode text by using Decoding classes.; Capture class and CaptureCollection class
Preparation Materials
Preparation Tools and ResourcesTo help you prepare for this exam, Microsoft Learning
recommends that you have hands-on experience with the product and that you use the following
training resources. These training resources do not necessarily cover all of the topics listed in the
"Skills Measured" tab.
Classroom Training
01: Learning Plan for Application Development Foundation by Using Microsoft .NET
Framework 3.5 (Exam 70-536) (1 Forms)
2957B: Advanced Foundations of Microsoft .NET 2.0 Development (3 Days)
2956B: Core Foundations of Microsoft .NET 2.0 Development (3 Days)
Microsoft E-Learning
5161AE: Advanced development with the Microsoft .NET Framework 2.0 Foundation (16
Hours)
5160AE: Core development with the Microsoft .NET Framework 2.0 Foundation (14 Hours)
Microsoft Press Books
MCTS Self-Paced Training Kit (Exam 70-536): Microsoft .NET Framework 2.0 Foundation
MCTS Self-Paced Training Kit (Exam 70-536): Microsoft .NET Framework--Application
Development Foundation, Second Edition
Practice Tests
MeasureUp(Measureup.com)
Self Test Software(Selftestsoftware.com)
Microsoft Online Resources
Learning Plan: Get started with a step-by-step study guide that is based on
recommended resources for this exam.
Product information: Visit the Microsoft Visual Studio site for detailed product
information.
Microsoft Learning Community: Join newsgroups and visit community forums to connect
with peers for suggestions on training resources and advice on your certification path and
studies.
TechNet: Designed for IT professionals, this site includes how-to instructions, best
practices, downloads, technical resources, newsgroups, and chats.
MSDN: Designed for developers, the Microsoft Developer Network (MSDN) features code
samples, technical articles, downloads, newsgroups, and chats.
Exam 70-505: TS: Microsoft .NET Framework 3.5, Windows
Forms Application Development
Creating Windows-based applications that run on
corporate servers or user desktop computers
Exam 70-505:
TS: Microsoft .NET Framework 3.5, Windows Forms Application Development
Published: February 05, 2009
Language(s): English, French, German, Japanese, Spanish, Chinese (Simplified)
Audience(s): Developers
Technology: Microsoft Visual Studio 2008
Type: Proctored Exam
Special Offer:
Get a discount on this Microsoft Certification Exam
Find out how you can save 20 percent off the price of this certification exam, and help advance your
career.
Overview
Skills Measured
Preparation Materials
Community
About this ExamThis exam is intended to test a candidate on their ability to create Windows Forms
applications on .NET 3.5.
Audience Profile
Candidates for this exam work on a team in a development environment that uses Microsoft Visual
Studio .NET 2008 and the Microsoft .NET Framework 3.5 to create Windows-based applications.
Candidates should have at least one year of experience developing Windows-based applications by
using the .NET Framework 2.0 and should be able to demonstrate the following:
a solid understanding of Windows Forms applications in the context of the.NET
Framework 3.5 solution stack
experience programming against the System.Windows.Forms object model
experience creating graphical user interface applications
experience creating data-driven user interfaces (UI)
experience deploying Windows applications
Credit Toward CertificationExam 70-505: TS: Microsoft .NET Framework 3.5, Windows Forms
Application Development: counts as credit toward the following certification(s):MCTS: .NET
Framework 3.5, Windows Forms Applications
Skills Being Measured
This exam measures your ability to accomplish the technical tasks listed below.The percentages
indicate the relative weight of each major topic area on the exam.
Creating a UI for a Windows Forms Application by Using Standard Controls (13%)
Add and configure a Windows Form.
This objective may include but is not limited to: Add a Windows Form to a project at design
time. Configure a Windows Form to control accessibility, appearance, behavior, configuration,
data, design, focus, layout, style, and other functionality
Manage control layout on a Windows Form.
This objective may include but is not limited to: Group and arrange controls by using the Panel
control, GroupBox control, TabControl control, FlowLayoutPanel control, and TableLayoutPanel
control
Add and configure a Windows Forms control.
This objective may include but is not limited to: Use the integrated development environment
(IDE) to add a control to a Windows Form or other container control of a project at design time,
add controls to a Windows Form at run time, configure controls on a Windows Form at design
time to optimize the UI, modify control properties
Create and configure menus.
This objective may include but is not limited to: Create and configure a MenuStrip component
on a Windows Form, change the displayed menu structure programmatically, create and
configure the ContextMenuStrip component on a Windows Form
Create event handlers for Windows Forms and controls.
This objective may include but is not limited to: Manage mouse and keyboard events within
Windows Forms applications, create event handlers at run time to respond to system or user
events dynamically, connect multiple events to a single event handler
Integrating Data in a Windows Forms Application (22%)
Implement data-bound controls.
This objective may include but is not limited to: Use the DataGridView control to display and
update the tabular data contained in a data source, use a simple data-bound control to display
a single data element on a Windows Form, implement complex data binding to integrate data
from multiple sources, navigate forward and backward through records in a DataSet in
Windows Forms, define a data source by using a DataConnector component, create data forms
by using the Data Form Wizard
Manage connections and transactions.
This objective may include but is not limited to: Configure a connection to a database by using
the Connection Wizard, configure a connection to a database by using Server Explorer,
configure a connection to a database by using the Connection class, connect to a database by
using specific database Connection objects, handle exceptions when connecting to a database,
perform transactions by using the Transaction object
Create, add, delete, and edit data in a connected environment.
This objective may include but is not limited to: Retrieve data by using a DataReader object,
build SQL commands in Server Explorer, build SQL commands in code, create parameters for a
Command object, perform database operations by using a Command object, retrieve data from
a database by using a Command object, perform asynchronous operations by using a
Command object
Query data from data sources by using LINQ
This objective may include but is not limited to: LINQ to SQL, LINQ to Objects, LINQ to Microsoft
ADO.NET, LINQ to XML
Create, add, delete, and edit data in a disconnected environment.
This objective may include but is not limited to: Create a DataSet graphically, create a DataSet
programmatically, add a DataTable to a DataSet, add a relationship between tables within a
DataSet, navigate a relationship between tables, merge DataSet contents, copy DataSet
contents, create a typed DataSet, create DataTables, manage data within a DataTable, create
and use DataViews, represent data in a DataSet by using XML, use the OleDbDataAdapter
object to access an ADO Recordset or Record, generate DataAdapter commands automatically
by using the CommandBuilder object, generate DataAdapter commands programmatically,
populate a DataSet by using a DataAdapter, update a database by using a DataAdapter,
resolve conflicts between a DataSet and a database by using a DataAdapter, respond to
changes made to data at the data source by using DataAdapter events, perform batch
operations by using DataAdapters
Manage XML by using the XML Document Object Model (DOM).
This objective may include but is not limited to: Read XML data into the DOM, modify an XML
document by adding and removing nodes, modify nodes, write data in an XML format by using
the DOM, handle DOM events
Read, write, and validate XML by using the XmlReader class and the XmlWriter class.
This objective may include but is not limited to: read XML data, elements, and attributes, read
specific elements or attributes, use XmlTextReader, XmlNodeReader, XmlValidatingReader,
and XmlWriter classes
Implementing Printing and Reporting Functionality in a Windows Forms Application
(11%)
Manage the print process by using print dialogs.
This objective may include but is not limited to: Configure print options at run time, change
printers attached to a user’s computer, configure the PrintPreviewDialog control, set page
details for printing by using the PageSetupDialog
Construct print documents.
This objective may include but is not limited to: Configure the PrintDocument component, print
a text document in a Windows form, print graphics in a Windows form, print a document by
using the PrintDialog component, alert users to the completion of a print job
Enable security features for printing in a Windows Forms application
Create a customized PrintPreview component.
This objective may include but is not limited to: setting the Document property to establish the
document to be previewed, set Columns and Row properties, set the UseAntiAlias property for
smoother text, configure zoom settings, set StartPage property, add custom methods and
events to a PrintPreview control
Enhancing Usability (13%)
Perform drag and drop operations.
This objective may include but is not limited to: perform drag and drop within an application
and across applications, perform drag and drop by using the Treeview control
Implement globalization and localization for a Windows Forms application.
This objective may include but is not limited to: work with resource files for localization,
determine installed locales
Implement accessibility features
Create and configure multiple-document interface (MDI) forms.
This objective may include but is not limited to: create parent and child forms, identify active
child form, send data to an active child form, arrange child forms, create menus for an MDI
application
Create, configure, and customize user assistance controls and components.
This objective may include but is not limited to: Configure the PropertyGrid component,
configure the ProgressBar control, configure StatusStrip, configure ToolTip, configure
ErrorProvider, configure HelpProvider controls, configure timer components
Persist Windows Forms application settings between sessions
Implementing Asynchronous Programming Techniques to Improve the User Experience
(15%)
Manage a background process by using the BackgroundWorker component.
This objective may include but is not limited to: Run a background process, announce
completion of a background process, cancel a background process, report on the progress of a
background component, request status of a background component
Change the appearance of a UI element by using triggers.
This objective may include but is not limited to: using multiple triggers; using property
triggers; using event triggers; using data triggers
Implement an asynchronous method.
This objective may include but is not limited to: Create an asynchronous method, create a new
process thread, implement advanced asynchronous techniques
Deploying Windows Forms Controls (11%)
Create a composite Windows Forms control.
This objective may include but is not limited to: create properties, methods and events, expose
properties of constituent controls, create custom dialog boxes, customize a control’s paint and
render, set visibility at run time, provide a toolbox bitmap
Create a custom Windows Forms control by inheriting from the control class
Create an extended control by inheriting from an existing Windows Forms control
Configuring and Deploying Applications (15%)
Configure the installation of a Windows Forms application by using ClickOnce technology.
This objective may include but is not limited to: install a Windows Forms application on a client
computer, install a Windows Forms application from a server, configure the required
permissions of an application
Install a Windows Presentation Foundation (WPF) browser application by using ClickOnce
Install a Visual Studio Tools for Office (VSTO) application by using ClickOnce
Configure and work with Windows Vista User Account Control (UAC) by using ClickOnce
deployments
Create a Windows Forms setup application.
This objective may include but is not limited to: configure setup project to add icons during
setup, set deployment project properties, configure conditional installation based on operating
system versions, set appropriate Launch Conditions based on the .NET Framework version, add
custom actions to a setup project, add error-handling code to a setup project
Set appropriate security permissions to deploy the application.
This objective may include but is not limited to: elevated permissions
Configure Trusted Application deployments
Configure security features in an application.
This objective may include but is not limited to: Configure code access security, configure the
application to work with UAC, configure Windows manipulation permissions, configure
appropriate file access permissions for the application, control printing security for the
application
Exam 70-562:
TS: Microsoft .NET Framework 3.5, ASP.NET Application Development
Published: August 04, 2008
Language(s): English, French, German, Japanese, Spanish, Chinese (Simplified)
Audience(s): Developers
Technology: Microsoft Visual Studio 2008
Type: Proctored Exam
Special Offer:
Overview
Skills Measured
Preparation Materials
Community
About this ExamThis certification exam measures your ability to develop applications using
ASP.NET in a development environment that uses Microsoft Visual Studio 2008 and Microsoft .NET
Framework 3.5
Audience Profile
Candidates for this exam use Microsoft Visual Studio in a team-based, medium-sized to large
development environment. Candidates should have a minimum of two to three years of experience
developing Web-based applications by using Microsoft ASP.NET. Candidates should also have a
minimum of one year of experience with the following:
Database access by using Microsoft ADO.NET classes in the Microsoft .NET Framework
Web services
State management
ASP.NET configuration
Monitoring Web applications
Debugging
Application and page life-cycle management
Security aspects such as Forms Authentication and membership and roles
ECMAScript (JavaScript, Microsoft JScript)
Internet Information Server (IIS)
Candidates should be very familiar with Visual Studio 2005 or later and the .NET Framework classes
that are related to ASP.NET and ADO.NET. In addition, candidates should have a good grasp of
ASP.NET AJAX.
Credit Toward CertificationExam 70-562: TS: Microsoft .NET Framework 3.5, ASP.NET Application
Development: counts as credit toward the following certification(s):
Microsoft Certified Technology Specialist (MCTS): .NET Framework 3.5, ASP.NET
Applications
Microsoft Certified Professional Developer (MCPD): ASP.NET Developer 3.5
Microsoft Certified Professional Developer (MCPD): Enterprise Applications Developer 3.5
Note This preparation guide is subject to change at any time without prior notice and at the sole
discretion of Microsoft. Microsoft exams might include adaptive testing technology and simulation
items. Microsoft does not identify the format in which exams are presented. Please use this
preparation guide to prepare for the exam, regardless of its format.
Skills Being Measured
This exam measures your ability to accomplish the technical tasks listed below.The percentages
indicate the relative weight of each major topic area on the exam.
Configuring and Deploying Web Applications (10 percent)
Configure providers. May include but is not limited to: personalization, membership, data
sources, site map, resource, security
Configure authentication, authorization, and impersonation. May include but is not
limited to: Forms Authentication, Windows Authentication
Configure projects, solutions, and reference assemblies. May include but is not limited to:
local assemblies, shared assemblies (GAC), Web application projects, solutions
Configure session state by using Microsoft SQL Server, State Server, or InProc. May
include but is not limited to: setting the timeout; cookieless sessions
Publish Web applications. May include but is not limited to: FTP, File System, or HTTP
from Visual Studio
Configure application pools.
Compile an application by using Visual Studio or command-line tools. May include but is
not limited to: aspnet_compiler.exe, Just-In-Time (JIT) compiling, aspnet_merge.exe
Consuming and Creating Server Controls (20 percent)
Implement data-bound controls. May include but is not limited to: DataGrid, DataList,
Repeater, ListView, GridView, FormView, DetailsView, TreeView, DataPager
Load user controls dynamically.
Create and consume custom controls. May include but is not limited to: registering
controls on a page, creating templated controls
Implement client-side validation and server-side validation. May include but is not limited
to: RequiredFieldValidator, CompareValidator, RegularExpressionValidator, CustomValidator,
RangeValidator
Consume standard controls. May include but is not limited to: Button, TextBox,
DropDownList, RadioButton, CheckBox, HyperLink, Wizard, MultiView
Working with Data and Services (17 percent)
Read and write XML data. May include but is not limited to: XmlDocument,
XPathNavigator, XPathNodeIterator, XPathDocument, XmlReader, XmlWriter,
XmlDataDocument, XmlNamespaceManager
Manipulate data by using DataSet and DataReader objects.
Call a Windows Communication Foundation (WCF) service or a Web service from an
ASP.NET Web page. May include but is not limited to: App_WebReferences; configuration
Implement a DataSource control. May include but is not limited to: LinqDataSource,
ObjectDataSource, XmlDataSource, SqlDataSource
Bind controls to data by using data binding syntax.
Troubleshooting and Debugging Web Applications (16 percent)
Configure debugging and custom errors. May include but is not limited to: Configuring
the customErrors mode and debugging options.
Set up an environment to perform remote debugging.
Debug unhandled exceptions when using ASP.NET AJAX. May include but is not limited to:
client-side Sys.Debug methods; attaching a debugger to Windows Internet Explorer
Implement tracing of a Web application. May include but is not limited to: Trace.axd,
Trace=True on @Page directive,
Debug deployment issues. May include but is not limited to: aspnet_regiis.exe; creating
an IIS Web application; setting the .NET Framework version
Monitor Web applications. May include but is not limited to: health monitoring by using
WebEvent, performance counters
Working with ASP.NET AJAX and Client-Side Scripting (15 percent)
Implement Web Forms by using ASP.NET AJAX. May include but is not limited to:
EnablePartialRendering, Triggers, ChildrenAsTriggers, Scripts, Services, UpdateProgress,
Timer, ScriptManagerProxy
Interact with the ASP.NET AJAX client-side library. May include but is not limited to:
JavaScript Object Notation (JSON) objects; handling ASP.NET AJAX events
Consume services from client scripts.
Create and register client script. May include but is not limited to: inline, included .js file,
embedded JavaScript resource, created from server code
Targeting Mobile Devices (5 percent)
Access device capabilities. May include but is not limited to: working with emulators
Control device-specific rendering. May include but is not limited to: DeviceSpecific
control; device filters; control templates
Add mobile Web controls to a Web page. May include but is not limited to: StyleSheet
controls; List controls; Container controls
Implement control adapters. May include but is not limited to: App_Browsers; rendering
by using ChtmlTextWriter or XhtmlTextWriter
Programming Web Applications (17 percent)
Customize the layout and appearance of a Web page. May include but is not limited to:
CSS, Themes and Skins, Master Pages, and Web Parts, App_Themes, StyleSheetTheme
Work with ASP.NET intrinsic objects. May include but is not limited to: Request, Server,
Application, Session, Response, HttpContext
Implement globalization and accessibility. May include but is not limited to: resource
files, culture settings, RegionInfo, App_GlobalResources, App_LocalResources, TabIndex,
AlternateText , GenerateEmptyAlternateText, AccessKey, Label.AssociatedControlID
Implement business objects and utility classes. May include but is not limited to:
App_Code , external assemblies
Implement session state, view state, control state, cookies, cache, or application state.
Handle events and control page flow. May include but is not limited to: page events,
control events, application events, and session events, cross-page posting; Response.Redirect,
Server.Transfer, IsPostBack, setting AutoEventWireup
Implement the Generic Handler.