You are on page 1of 8

Overview

 Introduction to Visual Studio 2008


VISUAL STUDIO 2008  .NET Framework Multi-
Multi-Targeting Support
NEW FEATURES  C# and VB.NET Language Enhancements
 Introduction to Language Integrated Query
Eduardo Castro
(LINQ)
Microsoft MVP
 Major HTML / CSS Designer
Enhancements
ecastrom.blogspot.com  Rich AJAX and JavaScript Support
edocastro@simsasys.com  And much more…
http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com

Visual Studio 2008 Editions Topic: Visual Studio 2008


Team Suite
Several editions of Visual Studio
2008 are available: Visual Studio 2008 Team Suite contains
four main components:
Visual Basic 2008 Express Edition
Visual C# 2008 Express Edition System, service, application, data center
Architect
Express Visual C++ 2008 Express Edition designers
Visual Web Developer 2008 Express Code editors, visual designers, debugging,
Developer
Edition unit tests, code metrics
Standard Visual Studio 2008 Standard Edition Test Create, edit, manage and run tests

Professional Visual Studio 2008 Professional Edition Database project templates, rename
Database refactoring, visual diff/merge, test data
Visual Studio 2008 Team Suite (Architect, generation
Team Suite
Developer, Test and Database)

http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com

Topic: Visual Studio 2008 Framework Multitargeting


Feature Highlights
 Visual Studio 2008 supports targeting multiple
 Visual Studio 2008 provides many versions of the .NET Framework
new features that significantly
enhance developer productivity:  Choose which Framework version to target when
opening or creating an application
• HTML split view designer  .NET Framework 2.0 (“Whidbey”)
• LINQ to SQL Designer
 .NET Framework 3.0 (Vista)
• JavaScript Intellisense
 .NET Framework 3.5 (“Orcas”)
• CSS property viewer
• WPF designer
 Visual Studio IDE only shows feature appropriate
• Office designer support for your selected target version
• .NET framework multi-targeting support
 Toolbox, Add New Item, Add Reference, Add Web
Reference, Intellisense,
Intellisense, etc
http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com

© 2001 Microsoft Corporation. All rights reserved.


This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 1
Topic: Configuring an Application's
Framework Multitargeting Target Framework
Version = Assembly references + compilers  Visual Studio 2008 can target multiple versions
No new CLR runtime of the .NET framework

.NET Fx 3.5

.NET Fx 3.0
.NET Fx 3.0
Update

.NET Fx 2.0 .NET Fx 2.0


.NET Fx 2.0
Update Update

Whidbey Vista 2008

time
http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com

Topic: Developing and Maintaining Object Browser Framework Version


.NET 2.0 Applications Filtering
 The Visual Studio 2008 Object Browser
 .NET framework 2.0 applications can be supports framework version filtering:
developed using Visual Studio 2008
 Leverage VS 2008 editor features
without requiring applications to be
updated to .NET 3.5
 Multi
Multi--targeting support simplifies future
application maintenance

http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com

HTML Designer
 Massively improved HTML designer
 Same WYSIWYG designer as in Expression

Demo  New features:


 Rich CSS editing support
Multi--Targeting
Multi
 Split view editor
 Fast designer/source switching
 Nested master pages

 Enable better designer/developer workflow


http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com

© 2001 Microsoft Corporation. All rights reserved.


This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 2
C# and VB.NET Language Language Enhancement
Enhancements Overview
 C# and VB.NET have been enhanced to
reduce the amount of code that has to be
 Language Enhancement Overview written:
 Object Initializers Assign values to object fields or properties
 Anonymous Types Object Initializers without explicit constructors when the object
is created
 Extension Methods
Compiler infers types without requiring
 How to define Extension Methods in C# Anonymous types
explicit type definitions
 How to define Extension Methods in VB.NET Extension Add methods to existing types without
 Lambda Expressions Methods creating a derived type
Expression used in place of a delegate to
Lambda
simplify coding and allow for more
Expressions
expressive code

http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com

Object Initializers Anonymous Types


 Object initializers allow accessible field
or property values to be initialized with  Anonymous types allow read-
read-only
values without explicit constructor calls properties to be defined for an object
without an explicit type definition
[Visual C#]
[Visual C#]
Person p = new Person {FirstName = "John", LastName="Doe",State="AZ"};
var p = select new {FirstName = "John", LastName="Doe"};

[Visual Basic]
[Visual Basic]
Dim p As New Person With {.FirstName = "John", .LastName = "Doe", _
.State="AZ"} Dim p = New With {.FirstName = "John", .LastName = "Doe"}

http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com

Extension Methods How to Define Extension Methods in


C#
 Extension methods are defined as static
 Extension methods allow existing types methods but act like instance methods at
to be extended without creating a runtime
derived type namespace StringExtensions {
public static class StringExtensionsClass {
 Extension method guidelines: public static string RemoveNonAlphaNumeric(this
(this string s) {
MatchCollection col = Regex.Matches(s,"[A-Za-z0-9]");
 Cannot be used to override existing StringBuilder sb = new StringBuilder();
methods foreach (Match m in col)
sb.Append(m.Value);
 Extension method with the same name and return sb.ToString();
signature as an instance method will not be }
}
called }
….
 The concept of extension methods cannot string phone = "123-123-1234";
be applied to fields, properties or events string newPhone = phone.RemoveNonAlphaNumeric();

 Use extension methods sparingly


http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com

© 2001 Microsoft Corporation. All rights reserved.


This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 3
Lambda Expressions
 A lambda expression is a function
without a name that evaluates a single
expression and returns its value
[Visual C#]

List<string> names = new List<string> { "John", "Jim", "Michelle" }; Demo


IEnumerable<string> filter = names.Where(p => p.StartsWith("J"));
("J"));
Language Enhanments
[Visual Basic]
Dim names As New List(Of String)
names.Add("John")
names.Add("Jim")
names.Add("Michelle")
Dim filter As IEnumerable(Of String) = _
names.Where(Function(p) p.StartsWith("J"))

http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com

Introduction to LINQ Working with Data


 What is LINQ?  Querying and manipulating data has
 LINQ Operators always been a fundamental part of our
jobs as programmers, and always will be
 LINQ Syntax Fundamentals
 LINQ to SQL Designer  Data formats change, but core needs
remain the same

 With Orcas we are trying to take the


concept of querying, manipulating, and
updating data to the next level
http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com

Introducing LINQ What is LINQ?


(Language Integrated Query)  LINQ = Language Integrated Query
 Query, Set and Transform Operations for .NET  Native C# and VB.NET language feature
 Comprehensive query technology:
 Makes querying data a core programming concept Query Objects
Query Databases
 Works with all types and shapes of data
Query XML
 Relational database
Query custom data stores
 XML
 Objects  Reduces complexities associated with
accessing data that isn't defined using OO
 Works with all .NET languages technology
 New VB and C# have integrated language support  Provides static typing and compile-
compile-time syntax
checking
 Support for both static typed and dynamic languages
http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com

© 2001 Microsoft Corporation. All rights reserved.


This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 4
LINQ Operators LINQ Syntax Fundamentals
 LINQ supports several different operations:
 LINQ queries specify the data source to query,
Filter the filter clause and the data to select
Sort
Select [Visual C#]

Group string[ ] states = { "Arizona", "Alaska", "Utah", "Nevada" };


var selectedStates = from s in states
Join where s.StartsWith("A")
select s;

 LINQ operators are expressed declaratively


[Visual Basic]
using
C# or VB.NET Dim states As String() = { "Arizona", "Alaska", "Utah", "Nevada" }
Dim selectedStates = From name In states _
 Visual Studio 2008 provides Intellisense Where name.StartsWith("A") _
support Select name
for operators

http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com

LINQ to SQL Designer


 Visual Studio 2008 provides a LINQ to SQL
designer that handles mapping relational data
to CLR objects

Demo
LINQ

http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com

ASP.NET AJAX ASP.NET AJAX Control Toolkit


 Works on top of ASP.NET 2.0 and VS 2005
 Separate download from core ASP.NET AJAX
 Fully supported V1.0 shipped last week on the web
 Great library of free ASP.NET AJAX enabled controls
 Delivers core ASP.NET AJAX foundation:  Download from http://ajax.asp.net/
 JavaScript type-
type-system
 Developed using a collaborative source model
 JavaScript<
JavaScript<-->.NET Networking Serialization
 All source freely available with modification license
 JavaScript library of common routines
 Both Microsoft & non-
non-Microsoft developers can contribute
 ASP.NET Server Control Integration

 ASP.NET AJAX 1.0 features  Already contains 35 really cool controls


 Goal is to get 50-
50-100 great controls over the next months
 Examples: richer web part integration, richer data
serialization support, more client controls

http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com

© 2001 Microsoft Corporation. All rights reserved.


This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 5
AJAX Control Extenders Visual Studio AJAX Support
 Controls that can AJAX-
AJAX-enable existing  JavaScript Intellisense
HTML UI and ASP.NET Server Controls  Code intellisense for client-
client-side JavaScript
<asp:LinkButton ID=“
ID=“ShowHideBtn
ShowHideBtn"" runat
runat="server">Details...</
="server">Details...</asp:LinkButton
asp:LinkButton>>  Integrated editor support for ASP.NET AJAX JS Library
 Intellisense against JSON enabled .asmx
.asmx web services
<asp:Panel ID="detailsPanel
ID="detailsPanel"" runat
runat="server"
="server" CssClass
CssClass="
="DetailsPanel
DetailsPanel">
">
Blah, Blah, Blah  Build
Build--time syntax checking
<br />
Blah, Blah, Blah
<br />  JavaScript Debugging
Blah, Blah, Blah  Improved discoverability
</asp:Panel
</asp:Panel> >
 Breakpoints in .aspx
.aspx documents
<ajaxToolkit:CollapsiblePanelExtender TargetControlID
TargetControlID="="detailsPanel
detailsPanel““
CollapseControlID="
CollapseControlID ="ShowHideBtn
ShowHideBtn""
 New visualization features for variables
ExpandControlID="
ExpandControlID ="ShowHideBtn
ShowHideBtn""
Collapsed="true"  ASP.NET AJAX Extender Control Support
SuppressPostBack="true"
SuppressPostBack ="true"
runat="server“
runat ="server“ />  Easy design-
design-time to attach extenders
http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com

Data Improvements in ASP.NET


 New <asp:LinqSqlDataSource
<asp:LinqSqlDataSource>> control
 Enables easy databinding to LINQ entities

Demo  New <asp:ListView


<asp:ListView>
> control
 Enables richer data UI flexibility
LINQ
 Scaffolding UI generator for getting started
 Creates LINQ object model and UI pages
 Will ship as separate download in Orcas

http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com

Testing Features Introduction to Windows


Communication Foundation
 VSTS Unit Testing Moving to VS Professional  Windows Communication Foundation
 Improved performance and workflow (WCF):

 New AJAX Web Testing Features in VSTS


Framework for creating distributed applications that communicate using services
 Automated scenario testing of ASP.NET AJAX applications
Service-oriented programming API
Support latest WS-* standards
Expose services over HTTP, TCP, Named Pipes, plus more
Create data and service contracts
Consume services and integrate data into .NET applications
Expose workflows as services

http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com

© 2001 Microsoft Corporation. All rights reserved.


This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 6
New WCF Features in .NET Team Foundation Server
3.5 2008
 Key New Windows Communication  Share Point 2007 support
Foundation Features include: 

Enable use of Sharepoint on any server and any port
Support for MOSS 2007
 Enable support for Reporting Services on any server and any port (new) (RTM)
 Support for SQL Named Instances – This will allow customers to share a SQL server
Support for RSS and ATOM Syndication between multiple TFS instances, or with other applications. This has been a
commonly requested feature by enterprises.
XML or JSON serialization for AJAX integration
 “Longhorn” server support – TFS will support the next version of the server (and
Support for additional partial trust mode scenarios corresponding new version of IIS) that is currently under development.
 Sync Large Groups – This is a set of work to improve the performance and
Windows Workflow Foundation Send/Receive activities robustness of TFS’s handling large groups of users (~30,000 or more) granted
permission to a TFS instance. Today this can result in a support call to recover from
it.
 Non--default ports – We’ve gotten a bunch of feedback from enterprise customers
Non
about TFS’s limited support for alternate web sites and ports running afoul of data
center policies. We are going to be improving TFS’s configurability in this respect in
Orcas.

http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com

Team Foundation Server Team Foundation Server


2008 2008
 Simplify installation – In Orcas, we will be doing a variety of things to attempt  Support multi-
multi-threaded builds with the new MSBuild.
MSBuild.
to make installing TFS easier and quicker than it is now. Improvements  Continuous Integration – There are many components to this, including build
include eliminating the separate data-
data-tier installation, simplifying the queuing and queue management, drop management (so that users can set
requirements around required domain accounts by supporting the built in policies for when builds should be automatically deleted), and build triggers
machine accounts (like Network Service) where we can, etc. that allows configuration of exactly how when CI builds should be triggered,
 Official testing and support for more configurations - This includes clustering, for example – every checkin
checkin,, rolling build (completion of one build starts the
mirroring, log shipping, Virtual machine deployment, and more. next), etc.
 Support for client certificates  Improved ability to specify what source, versions of source, and other build
 Upgrade from TFS 2005 properties. Improved extensibility of the build targets – such as ability to
easily execute targets before and after each solution/project is built.
 Support for SQL 2008 (aka Katmai) (new) (RTM) Improved ability to manage multiple build machines. Stop and delete builds
 TFSDeleteProject now permanently deletes (destroys) version control from within VS.
content (new) (RTM)  .NET Object model for programming against the build server. Simplified
 New role for many operations activities (new) (RTM) - You don't have to be ability to specify what tests get run as part of a build.
server administrator to run many of the admin utilities any longer.
 Enhancements to tfsadminutil (new) (RTM) - New capability to configure
accounts, connections, etc on both TFS and the TFS proxy.
http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com

Team Foundation Server


2008  2008 is going to be an exciting year
 Performance & Scale improvements – A variety of improvements that will  Major advances and improvements coming
make both the work item server and client faster and able to handle larger
servers.
 Query builder usability improvements - Drop down filtering based on current  Developing applications will be easier
project, better MRU lists, column drag & drop, shift-
shift-click mouse based multi-
multi-
column sorting, etc.  Build-on existing VS 2005 / ASP.NET skills/code
 Attachments improvements - Save button, drag & drop for adding an
attachment, multi-
multi-select for attaching files.  Significant productivity gains with LINQ, AJAX, etc
 Tooltips on field names contain the field name used for querying
 Server side support for deleting work items & work item types - We didn't  Upgrading will be easy
have time to do client UI support for it but we plan to release a Power Tool
that will take advantage of the new server side feature.  Can use HTML designer, JavaScript
 Support for security on the iteration hierarchy (new) intellisense/debugging, and new language
features of VS “Orcas” on ASP.NET 2.0 projects

http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com

© 2001 Microsoft Corporation. All rights reserved.


This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 7
Premios de este evento!!! Oferta Visual Studio 2008
• El Libro “Introducing
“Introducing Microsoft LINQ” por asistir al menos a una charla. • Adquiere ya Visual Studio 2005 con suscripción
• Restricciones:: 1 libro de estos máximo por persona por todo el evento. Los libros serán entregados entre finales de Enero y Febrero.
Restricciones
MSDN y recibe inmediatamente Visual Studio 2008.
2008.
• Un libro de la siguiente lista por cada día completo de charlas asistidas: • Además participa durante el mes de Diciembre


Programming Microsoft Visual C# 2005: The Language
Microsoft Visual C# 2005 Express Edition: Build a Program Now! ganando puntos por tu compra de Visual Studio y


Microsoft Visual Basic 2005 Step by Step
Working with Microsoft Visual Studio 2005 Team System
cámbialos por productos,
productos, libros o entrenamiento de
– I. M. Wright's "Hard Code" .NET, Expression,
Expression, Silverlight y mucho más:
más:
– Practical Project Initiation: A Handbook with Tools
– The Enterprise and Scrum – Para más información escribe a srojas@microsoft.co.cr
– Managing Projects with Microsoft Visual Studio Team System
– Programming Microsoft Composite UI Application Block and Smart Client
• Restricciones:: Si una persona asiste a dos días completos, podrá escoger 2 libros y así sucesivamente. Los libros serán entregados entre fina
Restricciones finales
les
de Enero y Febrero.

• Un juego de la siguiente lista por asistir a todas las charlas del evento:
– Zoo Tycoon2: Marine Mania (para(para PC)
– Halo 2 PC 32-
32-Bit Vista (para PC)
– Flight Simulator X (para
(para PC)
– Fable The Lost Chapters (para
(para PC)
– Combat Flight Sim 3 ((para
para PC)
– Age of Empires III (para
(para PC)
• Restricciones:: Máximo 1 juego por persona por todo el evento. Los juegos serán entregados entre finales de Enero y Febrero.
Restricciones

• Para estos premios se validará la asistencia contra hoja de evaluación entregada sin
excepciones.

http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com

© 2005 Microsoft Corporation. All rights reserved.


This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

http://ecastrom.spaces.live.com/ http:// ecastrom.blogspot.com

© 2001 Microsoft Corporation. All rights reserved.


This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 8

You might also like