Archive for the ‘ .NET’ Category

Ever wonder how .NET finds the assemblies that you reference ?

From the Developers Guide

To successfully deploy your .NET Framework application, you must understand how the common language runtime locates and binds to the assemblies that make up your application. By default, the runtime attempts to bind with the exact version of an assembly that the application was built with. This default behavior can be overridden by configuration file settings.

The common language runtime performs a number of steps when attempting to locate an assembly and resolve an assembly reference. Each step is explained in the following sections. The term probing is often used when describing how the runtime locates assemblies; it refers to the set of heuristics used to locate the assembly based on its name and culture.

Here are some links that describe the steps in the resolution process.

http://msdn.microsoft.com/en-us/library/yx7xezcf(VS.71).aspx

http://msdn.microsoft.com/en-us/library/8f6988ab(VS.71).aspx

http://msdn.microsoft.com/en-us/library/aa98tba8(VS.71).aspx

http://msdn.microsoft.com/en-us/library/4a9t8a9a(VS.71).aspx

http://msdn.microsoft.com/en-us/library/15hyw9x3(VS.71).aspx

Wally tells you what’s new in 3.5 SP1

My Buddy WBM has release a new eBook !

Check it out !

New Features in ASP.NET 3.5 Service Pack 1

Wallace B. McClure

ISBN: 978-0-470-45734-4

Wrox Blox PDF

38 pages

December 2008

Important information about this Wrox Blox PDF download

Managed Extensibility Framework on CodePlex

 The CodePlex description is as follows …..

The Managed Extensibility Framework (MEF) is a new library in .NET that enables greater reuse of applications and components. Using MEF, .NET applications can make the shift from being statically compiled to dynamically composed. If you are building extensible applications, extensible frameworks and application extensions, then MEF is for you.

What’s exciting about this to me is how MEF creates a defacto standard for applications that need a “plugable” component architecture.

Think about popular CMS or blogging applications and supporting standard “modules”.

For commercial applications, MEF makes designing applications to be sold as a-la-cart easier to do (and you don’t have to define a unique plug-in architecture.

Check it out at – http://www.codeplex.com/MEF

nAML – .NET Application Language, another cool project on CodeGallery !

From their description …..

nAML (.NET Application Language, pronounced as “namel”) is a visual modeling semantics to model .net applications with wide range of specific details. It contains extremely powerful visual notations and semantics to illustrate complex application components, processes and operations easily.

The primary objectives of nAML can be considered as follows:

• Provides a single space to visually describe one or more application systems with structural and behavioral components.
• Provides a single space to visually describe one or more application systems with logical and physical components.
• Provides a single space to visually describe one or more application systems from top to low level.
• Provides a single space to visually describe a part or whole of one or more application systems.
• Extremely simple and easy understand and learn from readers and designers perspective.
• Concentrates on .NET applications, with its related logical and physical entities (user interface, application logic, business logic, database etc).

http://code.msdn.microsoft.com/naml

.NET 3.5 Enhancements Training Kit

:) If this looks familiar, it’s because a prematurely posted about this last week. (And I wasn’t supposed to.)

Well, NOW I can tell you WHERE to get it !

Here is the announcement ……….

The Visual Studio & .NET Framework evangelism team released a revision of the .NET 3.5 Enhancements Training Kit, updated to work with Visual Studio 2008 SP1 & .NET 3.5 SP1 Beta 1! The April Preview of the training kit has been downloaded over 13,000 times. The May Preview release includes updated hands-on-labs as well as new presentations.

The following features had their labs updated in this iteration:

· ASP.NET AJAX History

· ASP.NET MVC

· ASP.NET Dynamic Data

· ADO.NET Data Services

· ADO.NET Entity Framework

Due to the incompatibility between Visual Studio 2008 SP1 beta 1 and the Silverlight 2 SDK beta 1 release, the ASP.NET Silverlight controls lab that was available in the initial release of the kit, won’t be available in the May preview.

The following features have supporting presentations included in this iteration:

· ASP.NET MVC

· ASP.NET Dynamic Data

· ADO.NET Data Services

New presentations will continue to be developed for inclusion in future iterations. In addition, demo scripts for each presentation will be created and added to the kit.

· You can download the Visual Studio 2008 & .NET 3.5 SP1 beta releases here.

· You can download the training kit here.

System.Net.Mail – Sending Email with .NET

 Add this awesome FAQ by Dave Wanta to your bookmarks.

All about Sending email in .NET 2.0

If you’re still a .NET 1.x user, see here http://www.systemwebmail.com/

Get the .NET 3.5 Enhancements Training Kit

The .NET 3.5 Enhancements Training Kit covers the technologies in the .NET 3.5 SP1 release and the out of band releases that are a part of the same wave, namely ASP.NET MVC and the ASP.NET Silverlight controls. Currently, the training kit contains six hands-on labs, made up of the following technologies:

1) ADO.NET Data Services

2) ADO.NET Entity Framework

3) ASP.NET AJAX History

4) ASP.NET Dynamic Data

5) ASP.NET MVC

6) ASP.NET Silverlight controls

Comming soon !

Maturing.NET Code Base

I saw my first preview of .NET in 1999 and that means to me that the code base of the .NET development community includes code that is approaching a decade old (not considering code that was pulled forward from pre .NET code.)

In the post DOT COM era where fiscal responsibility continues to increase and the software development life-cycle continues to DECREASE, there is a growing focus on re-tooling our existing intellectual assets.

One way to do this includes code-refactoring. (See Wikipedia Explanation here.)

Visual Studio 2005 includes some code-refactoring features (start here) and Visual Studio 2008 / ORCAS takes it to the next level (read here). 

There are even some cool FREE refactoring tools available like the one that Brad writes about here.

But I think this is THE MONSTER REFACTORING TOOL !

It’s called NDepend (a commercial product.) http://www.ndepend.com/

You know that I’m a tools (really all software) junkie and I get lots of software to evaluate and provide feedback on.

I’ve been putting NDepend through its paces for a while and I think it ROCKS.

In addition to MASSIVE refactoring, it does things like Code Quality Audits, Build Comparisons, Naming Rules, Multi Thread rationalization (COOL !), and tons more.

One of my favorite features is Code Query Language (CQL).

CQL lets me use a SQL-Like vocabulary to ask semantically specific questions about my code base.

Things like “Tell me which public methods cold be private” or “Show me all the public methods with more than 30 lines of code.”

When I first started to use NDepend I approached it as a tool to understand and improve existing code (usually that someone else wrote), now that I’m learning more about what it can do I find myself using it to analyze and improve the new code that I’m writing.

You can even plug it into Visual Studio with Reflector.

You can download a trial or apply for Open Source use here.

Hope you’ll check it out.

How-Do-I Videos for Visual Basic Programming

Beth Massi is doing Visual Basic focused How-Do-I videos.

Topics include LINQ, Interop, DataBinding, Forms Over Data, and more.

Check them out here : http://msdn2.microsoft.com/en-us/vbasic/bb466226.aspx

Microsoft Project Code Names ?

Ever wonder what that new project name at Microsoft stands for ?

Ever get confused about what something you learned about “turned into” at release time.

There is a Wikipedia page !!

http://en.wikipedia.org/wiki/List_of_Microsoft_codenames