Monday, 03 December 2007

.NET 3.5 VPC and Resources Available

If you are interested in learning more about Visual Studio 2008, make sure you check out the Visual Studio 2008 Training Kit.  Weighing in at roughly 120MB compressed, it contains, "a full 5-days of technical content including 20 hands-on labs, 28 presentations, and 20 scripted demos.   The technologies covered in the kit include:  LINQ, C# 3.0, VB 9, WCF, WF, WPF, Windows CardSpace, Silverlight, ASP.NET Ajax, .NET Compact Framework 3.5, VSTO 3.0, Visual Studio Team System, and Team Foundation Server".

Naturally, you will want to have a machine setup to run all these labs and samples... so, thanks to the hard work of David and James, you can now download a VPC with Vista, Visual Studio 2008 (trial), and the .NET 3.5 framework pre-loaded and ready to run.  Get it here.

You want more?  Ok, how about 17 training videos describing the technologies and running through a number of demos?  Get those here.

These are truly some great resources to get you jumpstarted!

Wednesday, 01 August 2007

Getting Active Directory Group Membership in .NET 3.5

I have previously covered pretty extensively the options for getting a user's group membership in Active Directory or ADAM (soon to be Active Directory LDS (Lightweight Directory Services)) here on the blog, in the forum, and in the book.  However, there is a new option for users of .NET 3.5 that should be of interest.

The Directory Services group at Microsoft has released in beta form a new API for dealing with a lot of the common things we need to do with users, groups, and computers in Active Directory, ADAM, and the local machine.  This API is called System.DirectoryServices.AccountManagement (or SDS.AM).  Here is a simple example of how to get a users groups (including nested, and primary):

static void Main(string[] args)
    PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

    using (ctx)
        Principal p = Principal.FindByIdentity(ctx, "ryandunn");

        using (p)
            var groups = p.GetGroups();
            using (groups)
                foreach (Principal group in groups)
                    Console.WriteLine(group.SamAccountName + "-" + group.DisplayName);


That's not too bad - in fact, it looks worse than it is because I am trying to make sure everything is wrapped in a 'using' statement where necessary.  The equivalent code to do this would be many times more (using DsCrackNames or LDAP searches) and would yield far less information being returned (just the DN in most cases).

Over the next few weeks and months, I intend to dig more deeply into this namespace and put some samples up here for everyone.  This is just a taste for now, but it should show you how powerful this namespace really is.

 *Updated to fix CSS renderings in Google Reader

Tuesday, 03 April 2007

Expression Web and Blend on MSDN soon

Straight from Somasegar.  This is good news for developers trying to fit in with their visual counterparts.  Initially these were targeted at the professional designer instead of the developer.  I personally think that those two overlap quite a bit.  It was a good move to put this into developer's hands.  You can be sure that they will get used now...

Friday, 13 May 2005

Limited Team System Foundation Server for MSDN Universal

Good news for all the folks that really pushed hard on Microsoft to make some form of this software available for Universal subscribers.