Patrick Smacchia [MVP C#]

Sponsors

The Lounge

Wicked Cool Jobs

News

  • NDepend v3 is fully integrated in Visual Studio, and is now available for download! Software dependencies visualization, 82 .NET software metrics, continuous rule validations, assembly version diff, declarative code queries and more ! http://ndepend.com

Advertisement

Images in this post missing? We recently lost them in a site migration. We're working to restore these as you read this. Should you need an image in an emergency, please contact us at imagehelp@codebetter.com
.NET 3.5 SP1: Changes Overview

For the curious, here are some informations about the brand new .NET 3.5 SP1 changes, compared to .NET 3.5. These results were obtained with the assembly comparison feature of the tool NDepend

Summary:

# Assemblies    112
# Namespaces    919 to 935      (+16   +1.7%)
# Types    39 988 to 40 513      (+525   +1.3%)
# Methods    387 421 to 386 790      (-631   -0.2%)
# Fields    241 567 to 246 795      (+5 228   +2.2%)
# IL instructions    8 598 933 to 8 620 940      (+22 007   +0.3%)

 

1.393 new public methods:  

SELECT METHODS WHERE IsPublic AND WasAdded

 

79 new public types:  

SELECT TYPES WHERE IsPublic AND WasAdded

 

No public types removed (hopefully!)

SELECT TYPES WHERE IsPublic AND WasRemoved

 

14 non-public methods became public: 

SELECT METHODS WHERE IsPublic AND VisibilityWasChanged AND IsInNewerBuild

 

6.384 methods where code was changed: 

SELECT METHODS WHERE CodeWasChanged

 

2.485 types where code was changed

SELECT TYPES WHERE CodeWasChanged

 

 

 

The list of assemblies we consider is made of 112 assemblies

 

Here is a 9000x1200 poster where methods where code was changed are located in blue (we degraded the quality to have a 2MB image file instead of 13MB):

 

 

And here is a list of coupling update for assemblies:

  1. A blue cell means: {the X Assembly} is using {the Y assembly}.
  2. Weight of a blue cell means: W members (methods and fields) of the {the X Assembly} are used by {the Y assembly}.
  3. A green cell means: {the Y Assembly} is used by {the X assembly}.
  4. Weight of a green cell means: W methods of the {the Y Assembly} are using {the X assembly}.
  5. A black cell means: {the X Assembly} and {the Y assembly} are using each others.
  6. A red tick on a cell means: the coupling has been changed.
  7. A red tick with a plus on a cell means: the dependency has been created.
  8. A red tick with a minus on a cell means: the dependency has been removed.
  9. An assembly name underlined means that its code has been changed.

 

 


Posted Wed, Aug 13 2008 7:10 PM by Patrick Smacchia

[Advertisement]

Comments

DotNetKicks.com wrote .Net 3.5 Changes as Seen from NDepends...
on Wed, Aug 13 2008 2:08 PM

You've been kicked (a good thing) - Trackback from DotNetKicks.com

Jon Skeet: Coding Blog wrote Visual Studio 2008 SP1 and .NET 3.5 SP1 both out now
on Wed, Aug 13 2008 2:41 PM

I suspect this will be pretty widely advertised fairly quickly, but both Visual Studio 2008 SP1 and

Marc Chouteau wrote re: .NET 3.5 SP1: Changes Overview
on Wed, Aug 13 2008 3:15 PM

C'est vraiment excellent comme comparaison, merci Patrick, je suis etonné sur le nombre de methodes (-631) alors qu'il y a (+525) types supplémentaires. Est-ce à dire qu'ils utilisent de nouveaux patterns ;)

Patrick Smacchia wrote re: .NET 3.5 SP1: Changes Overview
on Wed, Aug 13 2008 3:39 PM

oui c'est vrai cela ne m'avait pas frappé mais tu as raison Marc,

cela dit, un type peut aussi etre une enulmeration ou uin delegué

CV wrote re: .NET 3.5 SP1: Changes Overview
on Wed, Aug 13 2008 4:31 PM

The matrix image looks like MS has succeeded at creating a glider gun for the Game Of Life.

en.wikipedia.org/.../Conway%27s_Game_of_Life

Eugenio Estrada wrote re: .NET 3.5 SP1: Changes Overview
on Wed, Aug 13 2008 5:02 PM

Thanks you for your reply.

It's very interesting... I wanna see the news on WPF, I read that it includes lots of performance improvements... Do you know something?

You can contact me on the 'eugenioestrada.es' mail acount 'mail'. (The mail account is new and i don't wanna fill it with spam, hehe)

Best wishes!

Kent's thoughts wrote Visual Studio 2008 SP1 ships
on Wed, Aug 13 2008 7:26 PM

<p>By now, I'm sure you've heard that Service Pack 1 is out for Visual Studio 2008<br />         and the .NET Framework 3.5. ...

Scott Hanselman's Computer Zen wrote Hidden Gems - Not the same old 3.5 SP1 post
on Wed, Aug 13 2008 7:58 PM
Byron wrote re: .NET 3.5 SP1: Changes Overview
on Wed, Aug 13 2008 8:12 PM

You need to post that using DeepZoom

Readed By Wrocław NUG members wrote Hidden Gems - Not the same old 3.5 SP1 post
on Wed, Aug 13 2008 8:55 PM

Folks were hassling me in the comments for not posting the picosecond that .NET 3.5 SP1 came out (or

ASPInsiders wrote Hidden Gems - Not the same old 3.5 SP1 post
on Thu, Aug 14 2008 12:58 AM

Folks were hassling me in the comments for not posting the picosecond that .NET 3.5 SP1 came out (or,

Reflective Perspective - Chris Alcock » The Morning Brew #158 wrote Reflective Perspective - Chris Alcock » The Morning Brew #158
on Thu, Aug 14 2008 3:30 AM

Pingback from  Reflective Perspective - Chris Alcock  » The Morning Brew #158

IHateSpaghetti {code} wrote .NET 3.5 SP1: Changes Overview
on Thu, Aug 14 2008 4:52 AM

Well, Patrick used NDepened in order to check what were the actual changes in 3.5SP1 and came up with

Sambo wrote re: .NET 3.5 SP1: Changes Overview
on Thu, Aug 14 2008 6:22 AM

Well!

Christian wrote re: .NET 3.5 SP1: Changes Overview
on Thu, Aug 14 2008 8:27 AM

@Marc Chouteau + @Patrick Smacchia: Hvorfor skriver dere på fransk? Kan dere ikke Norsk?

Patrick Smacchia wrote re: .NET 3.5 SP1: Changes Overview
on Thu, Aug 14 2008 9:08 AM

Christian, jeg can snake Norsk in litten :o)

Dew Drop - August 14, 2008 | Alvin Ashcraft's Morning Dew wrote Dew Drop - August 14, 2008 | Alvin Ashcraft's Morning Dew
on Thu, Aug 14 2008 9:40 AM

Pingback from  Dew Drop - August 14, 2008 | Alvin Ashcraft's Morning Dew

Ray Akkanson wrote re: .NET 3.5 SP1: Changes Overview
on Thu, Aug 14 2008 10:01 AM

I like to know more about WPF and ADO.net entity framework changes..

Ray Akkanson

Filip C wrote re: .NET 3.5 SP1: Changes Overview
on Thu, Aug 14 2008 10:07 AM

Did someone else his ListView disappear in the Toolbox after the installation of SP1?

screenshot: www.wazig.be/.../633543045261874187_ListView-Dissapeared.jpg

How to solve this?

riix wrote re: .NET 3.5 SP1: Changes Overview
on Thu, Aug 14 2008 10:27 AM

is possible to have an excel sheet of these changes instead of zipped html pages?  (for presentation to mgmt).  merci d'avance.

Patrick Smacchia wrote re: .NET 3.5 SP1: Changes Overview
on Thu, Aug 14 2008 12:08 PM

Riix, download results as excel sheet here:

codebetter.com/.../Result35SP1DeltaAsExcel.zip

NDepend can export results to HTML, XLS, XML and TXT

Victor Shamanovsky wrote re: .NET 3.5 SP1: Changes Overview
on Thu, Aug 14 2008 1:10 PM

the best keeps getting better, thanks Microsoft.

Logan wrote re: .NET 3.5 SP1: Changes Overview
on Thu, Aug 14 2008 4:52 PM

Don't "{the X Assembly} is using {the Y assembly}"

and "{the Y Assembly} is used by {the X assembly}"

mean the same thing? I think you flipped both the wording and the variables when you meant to only flip one.

Patrick Smacchia wrote re: .NET 3.5 SP1: Changes Overview
on Thu, Aug 14 2008 7:36 PM

Logan, you are right. What I meant is that the 'is using' scenario is handled by a blue cell and the 'is used by' by a green one. Meaning that the matrix is symmetric, each blue cell correspond to a black cell.

The advantage of doing so is that you can read that Wx members of the asm X are using Wy members of the asm Y, where Wx is the weight on the green cell and Wy the weight on the blue cell.

Jon Galloway wrote Upgrading to Visual Studio 2008 / .NET 3.5 SP1
on Fri, Aug 15 2008 4:45 AM

Have your Visual Studio Installation Media Handy I was prompted for the original installation media both

le .NET 3.5 Sp1 wrote le .NET 3.5 Sp1
on Fri, Aug 15 2008 10:58 AM

Pingback from  le .NET 3.5 Sp1

Coder wrote re: .NET 3.5 SP1: Changes Overview
on Fri, Aug 15 2008 1:02 PM

It looks scary. There a lot more methods and a lot less information about the behavior of a method than there used to be in Win32.

Multiply the-not-so-well-defined-behaviors with 386,790 methods, what do you get?

Deepm wrote re: .NET 3.5 SP1: Changes Overview
on Sat, Aug 16 2008 7:42 PM

Filip: I was not able to reproduce this issue at our end. Could you email me more about the LIstview disappearing issue. My email is my name at microsoft.com

» .NET 3.5 SP1: Changes Overview wrote » .NET 3.5 SP1: Changes Overview
on Sat, Aug 16 2008 8:31 PM

Pingback from  » .NET 3.5 SP1: Changes Overview

Weekly Links #14 | GrantPalin.com wrote Weekly Links #14 | GrantPalin.com
on Sun, Aug 17 2008 8:20 PM

Pingback from  Weekly Links #14 | GrantPalin.com

Ryan Van Slooten wrote re: .NET 3.5 SP1: Changes Overview
on Mon, Aug 18 2008 2:49 PM

It would be really cool if the graphic was a Silverlight control with interactive features such as lookup and search. DeepZoom would be decent, but it would be better if it was interactive.

Patrick Smacchia wrote re: .NET 3.5 SP1: Changes Overview
on Mon, Aug 18 2008 3:39 PM

Ryan, graphics are not silverlight but all the interactive features you want are available in the rich application VisualNDepend.

Marcos Dell Antonio » O que muda exatamente no .NET com o Service Pack 1? wrote Marcos Dell Antonio » O que muda exatamente no .NET com o Service Pack 1?
on Mon, Aug 18 2008 11:25 PM

Pingback from  Marcos Dell Antonio » O que muda exatamente no .NET com o Service Pack 1?

Mike wrote re: .NET 3.5 SP1: Changes Overview
on Tue, Aug 19 2008 12:21 PM

I second the DeepZoom idea. It is interactive enough for me.

Euforik wrote .NET 3.5 SP1: Changes Overview
on Wed, Aug 20 2008 10:55 AM

.NET 3.5 SP1: Changes Overview

John wrote re: .NET 3.5 SP1: Changes Overview
on Thu, Aug 21 2008 3:20 PM

Seems like some new assemblies are missing from the graph, like System.Data.Entity.dll

Patrick Smacchia [MVP C#] wrote NHibernate 2.0: Changes Overview
on Tue, Aug 26 2008 1:01 PM

My post .NET Framework 3.5 SP1: Changes Overview on analysis evolution, structure and quality of the

NHibernate 2.0: Changes Overview - taccato! trend tracker, cool hunting, new business ideas wrote NHibernate 2.0: Changes Overview - taccato! trend tracker, cool hunting, new business ideas
on Tue, Aug 26 2008 1:14 PM

Pingback from  NHibernate 2.0: Changes Overview - taccato! trend tracker, cool hunting, new business ideas

Community Blogs wrote NHibernate 2.0: Changes Overview
on Tue, Aug 26 2008 1:45 PM

My post .NET Framework 3.5 SP1: Changes Overview on analysis evolution, structure and quality of the

Andrei Rinea wrote re: .NET 3.5 SP1: Changes Overview
on Wed, Aug 27 2008 5:10 AM

There is something I do not understand :

# Types    39 988 to 40 513      (+525   +1.3%)

# Methods    387 421 to 386 790      (-631   -0.2%)

How did methods decrease when the number of classes increased? I mean it's not impossible but it is at least weird.

Nuno Filipe Godinho wrote .NET Framework 3.5 SP1 Changes
on Wed, Aug 27 2008 7:38 PM

   With the release of the new Service Pack 1 for the .NET Framework 3.5 several changes were

Nuno Filipe Godinho wrote .NET Framework 3.5 SP1 Changes
on Wed, Aug 27 2008 7:39 PM

   With the release of the new Service Pack 1 for the .NET Framework 3.5 several changes were

Nuno Filipe Godinho wrote Altera
on Wed, Aug 27 2008 7:50 PM
Mirrored Blogs wrote NHibernate 2.0: Changes Overview
on Fri, Sep 5 2008 12:42 AM

My post .NET Framework 3.5 SP1: Changes Overview on analysis evolution, structure and quality of the

NHibernate 2.0: Changes Overview - taccato! trend tracker, cool hunting, new business ideas wrote NHibernate 2.0: Changes Overview - taccato! trend tracker, cool hunting, new business ideas
on Fri, Sep 5 2008 8:28 AM

Pingback from  NHibernate 2.0: Changes Overview - taccato! trend tracker, cool hunting, new business ideas

Alexandre Grenier wrote re: .NET 3.5 SP1: Changes Overview
on Fri, Sep 5 2008 11:18 AM

Andrei... that's naturally what should happen when you refactor.

Let's say you have 20 classes with a number of methods that do some similar work in different parts of different methods... refactoring, you take those bits and extract to methods, within the class...

On the next iteration, you realise these methods do the same work, for example the test cases are identical... you would naturally take all those methods and pull them to a specialized class. Or perhaps add an inheritence level... That's how you end up with more classes, less methods.

Also, with lambdas / anonymous methods, I can see a lot of smaller functions getting eliminated... Just like generics eliminated many type-specialized classes when .Net 2.0 came out.

I think it also ends up happenning because of how responsability is distributed across people and teams, but that's another story... but in my experience, the more people you have on a project, the more classes you end up with, and also some duplication, and then after deep code reviews, the classes usually stay, but the duplication is removed.

jb wrote re: .NET 3.5 SP1: Changes Overview
on Mon, Sep 15 2008 11:24 AM

I can't find anyone talking about what happens when you compile an app on a .net 3.5 service pack 1 machine and deploy it to a server that doesn't have sp1 installed? I support multiple apps and I want to upgrade to my local workstation & visual studio to sp1, but I don't know what will break on my non-sp1 servers.

What are the compatibility issues and is there a way to "target" 3.5 vs 3.5 sp1?

Thanks,

--jb

Kartones Blog wrote Review: NDepend
on Sat, Sep 27 2008 5:36 AM

For this application review, I've chosen a proof of concept I built last year, a small dungeon generator

Steve Wright's Blog wrote Using NDepend to help guide Refactoring
on Tue, Sep 30 2008 11:12 AM

In my other blogs entries I mention that I have been looking into building a Team Foundation Server Data

was genau ist neu in 3.5SP1? | hilpers wrote was genau ist neu in 3.5SP1? | hilpers
on Sat, Jan 17 2009 12:48 PM

Pingback from  was genau ist neu in 3.5SP1? | hilpers

Russian SQL Server Club wrote Немного статистики изменений в .Net 3.5 SP1
on Sat, Jan 31 2009 5:39 AM

С помощью инструмента NDepend было проведено сравнение сборок .Net 3.5 и .Net 3.5 SP1. И вот что получилось:#...

on Tue, Feb 3 2009 4:10 PM

Patrick uses the awesome power of the assembly comparison feature of the tool NDepend to show exactly how much more there is in .NET Framework 3.5 SP1: Summary: # Assemblies 112 # Namespaces 919 to 935 (+16 +1.7%) # Types 39 988 to 40 513 (+525 +1.3%

Patrick Smacchia [MVP C#] wrote Analyzing the code base of CruiseControl.NET
on Sun, Mar 15 2009 12:59 AM

As I already did with several popular.NET projects like NUnit , NHibernate , .NET Framework , Silverlight

Community Blogs wrote Analyzing the code base of CruiseControl.NET
on Sun, Mar 15 2009 1:47 AM

As I already did with several popular.NET projects like NUnit , NHibernate , .NET Framework , Silverlight

Patrick Smacchia [MVP C#] wrote My 100th blog post: Top 5 development practices you should care for
on Wed, Mar 25 2009 3:49 AM

This is a modest number but I am happy to have reached it, especially taking account that I spend weekly

Community Blogs wrote My 100th blog post: Top 5 development practices you should care for
on Wed, Mar 25 2009 3:59 AM

This is a modest number but I am happy to have reached it, especially taking account that I spend weekly

Patrick Smacchia [MVP C#] wrote Analyzing the code base of CruiseControl.NET
on Fri, Mar 27 2009 9:14 AM

As I already did with several popular.NET projects like NUnit , NHibernate , .NET Framework , Silverlight

VistaDB.Net Blog wrote What changed in Dot Net 3.5 SP1?
on Sat, May 16 2009 2:40 AM

What changed in Dot Net 3.5 SP1?

How does phentermine work. wrote Buy phentermine.
on Fri, May 29 2009 7:23 PM

Phentermine. Order phentermine online. Cheapest phentermine online. Keyword phentermine. Online phentermine.

No prescription needed vicodin. wrote Information about vicodin.
on Tue, Jun 9 2009 12:10 AM

Vicodin interaction with metropolol.

My amoxicillin on line click here. wrote Are greyhounds allergic to amoxicillin.
on Wed, Jun 10 2009 4:01 AM

Amoxicillin. Amoxicillin allergy. Amoxicillin and clavulanate potassium. Amoxicillin trial strep pharyngitis. Amoxicillin soar throat.

Pharme68 wrote re: .NET 3.5 SP1: Changes Overview
on Wed, Jun 17 2009 10:20 AM

Very nice site!

Google wrote re: .NET 3.5 SP1: Changes Overview
on Tue, Jun 30 2009 9:07 AM

http://search.live.com

If you do not wish to receive similar messages please inform us on it by mail               ban.site[dog]gmail.com

Pharma589 wrote re: .NET 3.5 SP1: Changes Overview
on Wed, Jul 1 2009 6:45 PM

Very nice site!

Add a Comment

(required)  
(optional)
(required)  
Remember Me?
Devlicio.us