1 Lap Around The WinFX And Windows SDKs Brent Rector Program Manager Microsoft Corporation FUNL02.

Slides:



Advertisements
Similar presentations
ACT! “Web” Plugins ACC Webinar (Part 1of 2) Brian Mowka and Jamie Aurand December 2010.
Advertisements

Faith Allington Program Manager Microsoft Corporation WSV322.
.NET 3.5 SP1 New features Enhancements Visual Studio 2008 SP1 New features Enhancements Additional features/enhancements.
The Microsoft Technical Roadshow 2006 Windows Presentation Foundation (WPF) Marcus Perryman
FIRST LOOK AT “ORCAS” Scott Guthrie General Manager.NET Developer Platform.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
The Microsoft Technical Roadshow 2006 Welcome and Introduction Kevin McDaniel Developer & Platform Evangelism Group Microsoft Ltd
Introduction & Welcome Marcus Perryman Mike Taulty
DEV450 Visual Studio: Best Practices For Debugging Managed Applications Habib Heydarian Scott Nonnenberg Program Managers Microsoft Corporation.
Amit Chopra APP209 Introducing “Orcas” Huh ? What’s “Orcas”?
What’s new for Rich Clients? Martin Parry Developer & Platform Group Microsoft Ltd
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Created by the Community for the Community Building a RFID solution in BTS 09.
 Tim Wagner Visual Studio Platform Dev Manager Microsoft Corporation TL32.
Future Directions for Leveraging Advanced XML Tools and Building Custom XML Solutions Denise Draper DAT321 Microsoft Corporation.
Object Oriented Software Development 1. Introduction to C# and Visual Studio.
IIS, Tools And Extensibility Madhur Joshi Development Lead Phone:
1 Windows Vista: Enabling Parental Controls in your Application Brian Trenbeath FUN304 Program Manager Microsoft Corporation.
Creating and Running Your First C# Program Telerik Software Academy Telerik School Academy.
OFC302 Building Smart Document Solutions in Word & Excel Martin Sawicki Lead Program Manager.
1 Sandcastle Documentation Compilers For Managed Class Libraries common) Enabling managed class library developers throughout the world to easily create.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Developing Workflows with SharePoint Designer David Coe Application Development Consultant Microsoft Corporation.
Anand Raman, Group Manager David Wright, Lead SDE Developer Division March 15, 2007.
Virtual techdays INDIA │ Nov 2010 Developing Office Biz Application using WPF on Windows 7 Sarang Datye │ Sr. Consultant, Microsoft Sridhar Poduri.
Rudi Grobler Session Code: WUX205.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
11 Web Services. 22 Objectives You will be able to Say what a web service is. Write and deploy a simple web service. Test a simple web service. Write.
Windows Workflow Foundation Mike Taulty Developer & Platform Group Microsoft Ltd
Scalable Game Development William Roberts Senior Game Engineer
DEV339 Best Practices for Debugging Visual Studio.NET Applications Keith Pleas Architect, Guided Design
The Microsoft Technical Roadshow 2007 Rich Client Development in XAML Mark Johnston Developer & Platform Group Microsoft Ltd
Building More Reliable And Better Performing Web Applications With Visual Studio 2005 Team System Gabriel Marius TLN312 Program Manager Microsoft Corporation.
Lap Around Windows Presentation Foundation Rob Relyea PRS305 Lead Program Manager Windows Presentation Foundation
Dissecting the Windows CE Build Process James Y. Wilson Principal Engineer, Windows Embedded MVP CalAmp, Inc. James Y. Wilson Principal Engineer, Windows.
Connect with life Vedant Kulshreshtha Technology Solutions Professional – SharePoint | Microsoft India
Paul Foster Developer Evangelist Microsoft Windows 7 – Top Features for your Applications SESSION CODE: W00T!
1 Visual Basic “Whidbey”: RAD for the Visual Basic Developer Jay Schmelzer and Shamez Rajan Program Manager Microsoft Corporation Jay Schmelzer and Shamez.
Microsoft Visual Studio 2005 Tools for the Office System: Building Office Solutions Using Visual Studio 2005 Tools for Office Andrew Coates Developer Evangelist.
DEV394.NET Framework: Migrating To Managed Code Adam Nathan QA Lead Richard Lander Program Manager Microsoft Corporation.
Extending SharePoint through Web Parts and ASP.NET 최승현 대리 한국마이크로소프트.
Neil Kidd Developer Tools Technical Specialist Microsoft UK.
Tips and Tricks for Debugging ASP.NET Web Applications and Services Habib Heydarian TLNL05 Program Manager Microsoft Corporation.
Workflow in Microsoft Office SharePoint Server Jessica Gruber Consultant Microsoft Corporation.
Getting Started with Oracle Berkeley DB 11gR2 and ADO.NET
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
Exploring Networked Data and Data Stores Lesson 3.
Introduction to Avalon Mike Taulty Microsoft Ltd
Office 365 Development July 2014.
Top 10 Entity Framework Features Every Developer Should Know
12/29/2017 2:33 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Yochay Kiriaty Senior Technical Evangelist Microsoft® Corporation
Building world-ready Metro style apps with XAML
Unit testing your metro style apps built using XAML
Visual Studio Tools for Office 2005
Module 0: Introduction Chapter 2: Getting Started
Module 1: Getting Started
Building Modern Web Apps with ASP.NET MVC 6
DotnetConf 11/14/2018 3:27 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE.
Introduction to mobile app development Module 3 – Improving your App Studio app Lance McCarthy.
Using Visual Studio and VS Code for Embedded C/C++ Development
Microsoft Connect /1/2018 2:36 AM
Building event-driven, long-running apps with Windows workflow
1/14/2019 3:57 AM © 2004 Microsoft Corporation. All rights reserved.
Introduction to VSTS Database Professional
Windows Forms in Visual Studio 2005: An in-depth look at key features
Windows Forms in Visual Studio 2005: An Overview
Mark Quirk Head of Technology Developer & Platform Group
MS Confidential : SharePoint 2010 Developer Workshop (Beta1)
Contexualized Data In Document Authoring
Presentation transcript:

1 Lap Around The WinFX And Windows SDKs Brent Rector Program Manager Microsoft Corporation FUNL02

2 Agenda Introduction to the Windows SDK Breadth of new APIs Development and debugging tools Comand Shell Performance Analysis Tools

3 The WinFX SDK Contains documentation, samples, tools and build environments for the WinFX programming model Ships with each WinFX CTP and Windows Vista pre-release WinFX is rapidly evolving.NET Framework 2.0 Windows Presentation Foundation (Avalon) Windows Communication Foundation (Indigo) More to be announced… Will be released concurrently with Windows Vista WinFX Runtime Components for Windows XP and Windows 2003 Server

4 The Windows SDK The Windows SDK is the SDK for developing Windows applications Contains documentation for all APIs, interfaces, types, etc. found in the Windows operating system Also contains samples, tools and build environments The Windows SDK includes all the content you would previously have found in the Platform SDK Typically unmanaged APIs, samples and tools The Windows SDK also contains the WinFX SDK

5 APIs New To Vista ~ 4,000 new unmanaged APIs in Beta 1 ~ 1,400 additional new APIs so far in Beta 2 Many more are coming…

6 WinFX RC changes

7 XML Tools, Debug Tools XSD.exe XML Serializer Mdbg.exeFusLogVw.exe

8 Reading and Writing Xml Lots of squirrelly brackets Lots of approaches strtok, printf, XmlReader, XmlWriter Xsd.exe with XML Serializer – my favorite Class Object Schema Document

9 Xsd.exe XML schema – class generator XML schema ->.NET class xsd.xsd /classes|dataset [/e:] [/l:] [/n:] [/o:] [/s] [/uri:].NET class -> XML Schema xsd.dll|.exe [/outputdir:] [/type: [...]] XML document -> Inferred schema xsd.xml [/outputdir:] XDR schema -> XSD schema xsd.xdr [/outputdir:]

10 Xsd.exe

11 Xml Serialization The good, the bad, and the ugly Good - Easy to use Bad – Maybe not as efficient as assumed Ugly – Details to follow Finally, the attractive swan

12 Xml Serialization Two XML serializable classes public class Person { private int m_age; private int m_age; private string m_name; private string m_name; private Pet m_pet; private Pet m_pet; public string Name { public string Name { get { return m_name; } get { return m_name; } set { m_name = value; } set { m_name = value; } } public int Age { public int Age { get { return m_age; } get { return m_age; } set { m_age = value; } set { m_age = value; } } public Pet Pet { public Pet Pet { get { get { return m_pet; return m_pet; } set { set { m_pet = value; m_pet = value; } } } } public class Pet { private System.DateTime m_birthDate; private System.DateTime m_birthDate; private string m_name; private string m_name; public string Name { public string Name { get { return m_name; } get { return m_name; } set { m_name = value; } set { m_name = value; } } public System.DateTime BirthDate { public System.DateTime BirthDate { get { return m_birthDate; } get { return m_birthDate; } set {m_birthDate = value; } set {m_birthDate = value; } }}

13 Xml Serialization Easy to use using System.Xml.Serialization; static class App { static void Main () { static void Main () { XmlSerializer xs1 = new XmlSerializer (typeof (Person)); XmlSerializer xs1 = new XmlSerializer (typeof (Person)); XmlSerializer xs2 = new XmlSerializer (typeof (Pet)); XmlSerializer xs2 = new XmlSerializer (typeof (Pet)); }}

14 XmlSerializer

15 Xml Serialization Not as performant as you might expect Four assembly probe failures Two in-memory compiles Two assembly loads

16 Mdbg

17 Xml Serialization Details MSH> Mdbg MDbg (Managed debugger) v (beta2PLUS ) started. Copyright (C) Microsoft Corporation. All rights reserved. For information about commands type "help"; to exit program type "quit". mdbg> ca ml mdbg> ca lm mdbg> run XmlTest.exe STOP: Module loaded: D:\WINDOWS\assembly\GAC_32\mscorlib\ __b77a5c561934e089\mscorlib.dll STOP: Module loaded: D:\Users\BrentRe\Documents\PDCDemo\XmlTest.exe STOP: Module loaded: D:\Users\BrentRe\Documents\PDCDemo\Person.DLL STOP: Module loaded: D:\Users\BrentRe\Documents\PDCDemo\Pet.DLL STOP: Module loaded: D:\WINDOWS\assembly\GAC_MSIL\System.Xml\ __b77a5c561934e089\System.Xml.dll STOP: Module loaded: D:\WINDOWS\assembly\GAC_MSIL\System\ __b77a5c561934e089\System.dll STOP: Module loaded: D:\WINDOWS\assembly\GAC_MSIL\System.Configuration\ __b03f5f7f11d50a3a\System.Configuration.dll STOP: MDANotification Name=BindingFailure XML= XML= <!-- An assembly failed to load, returning HRESULT 0x It would have had <!-- An assembly failed to load, returning HRESULT 0x It would have had display name 'Person.XmlSerializers', been loaded from code base '' in binding display name 'Person.XmlSerializers', been loaded from code base '' in binding context 1 of the AppDomain with ID 1. context 1 of the AppDomain with ID 1. See D:\Windows\Microsoft.NET\Framework\v \sdk\bin\mdaBoilerplate.exe.mda.config for documentation. See D:\Windows\Microsoft.NET\Framework\v \sdk\bin\mdaBoilerplate.exe.mda.config for documentation. --> --> </mda:msg> [p#:0, t#:0] mdbg>

18 Fusion Log Viewer Fusion is the name of the assembly binding component in the OS Fusion log viewer displays attempts made by Fusion to find a managed assembly FusLogVw.exe tips Run it, enable logging, shut it down, restart it Clear the Internet Explorer cache

19 Fusion Log Viewer (FusLogVw)

20 Fusion Log Viewer FusLogVw.exe

21 Sample Fusion Log *** Assembly Binder Log Entry 11:29:57 AM) *** The operation failed. Bind result: hr = 0x The system cannot find the file specified. Assembly manager loaded from: C:\WINDOWS\Microsoft.NET\Framework64\v \mscorwks.dll Running under executable D:\Temp\MyClient.exe --- A detailed error log follows. === Pre-bind state information === LOG: User = REDMOND\brentre LOG: DisplayName = Person.XmlSerializers, Version= , Culture=neutral, PublicKeyToken=null, processorArchitecture=MSIL (Fully-specified) (Fully-specified) LOG: Appbase = file:///D:/Temp/ LOG: Initial PrivatePath = NULL LOG: Dynamic Base = NULL LOG: Cache Base = NULL LOG: AppName = MyClient.exe Calling assembly : System.Xml, Version= , Culture=neutral, PublicKeyToken=b77a5c561934e089. === LOG: This bind is in default load context. LOG: No application configuration file found. LOG: Using machine configuration file from C:\WINDOWS\Microsoft.NET\Framework64\v \config\machine.config. LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind). LOG: Attempting download of new URL file:///D:/Temp/Person.XmlSerializers.DLL. LOG: Attempting download of new URL file:///D:/Temp/Person.XmlSerializers/Person.XmlSerializers.DLL. LOG: Attempting download of new URL file:///D:/Temp/Person.XmlSerializers.EXE. LOG: Attempting download of new URL file:///D:/Temp/Person.XmlSerializers/Person.XmlSerializers.EXE. LOG: All probing URLs attempted and failed.

22 Xml Serialization Easy to improve Sgen.exe The Xml Serialization Proxy Generator SGen /a:Person.dll /r:Pet.dll [/debug] [/keep] Creates an assembly that contains classes that can serialize specified classes as XML No need to compile against this assembly Dynamically loaded as needed

23 Xml Serialization Easy to improve XmlSerializer tries to load an assembly that contains a type that can serialize the specified class Will generate and compile source code for such an assembly at runtime when one cannot be loaded Why not generate and compile this source code during development?

24 Xml Serialization Easy to improve Sgen.exe The Xml Serialization Proxy Generator SGen /a:Person.dll /r:Pet.dll [/debug] [/keep]

25 Serialization Assembly Generator (Sgen)

26 Build Tools MSBuild An XML-based managed code build tool Items, Properties, Tasks, Targets VCBuild An XML-based unmanaged C++ build tool NMake A standard Makefile processing tool

27 Command Shells CMD.EXE Old, familiar, batch file command shell MSH.EXE New, unfamilar, shell script command shell

28 Microsoft Command Shell

29 WPF UI Tools Xamlpad.exe Enter XAML, see how it renders immediately Perforator Visual display of rendering requirements UISpy.exe Spy++ for XAML Planned for WinFX SDK Beta 2

30 XamPad

31 Perforator

32 Interesting Samples WPF Sample Gallery MSBuild Project File Generator SdkDiff

33 Summary Visual Studio 2005 is best for daily development Common line development environment still very useful SDK has lots of sample code > 700 samples in the Windows SDK SDK is the ultimate documentation source

34 Contact Information Track Lounge Tuesday, Sept 13 – 14:15 to 17:30 Thursday, Sept 15 – 15:15 to 18:30

35 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.