Programming - - By Wyatt Barnett

Atlas err, uhm, Microsoft ASP.NET AJAX Extensions Beta 1 Released

First, in case you missed it, Atlas is now Microsoft ASP.NET AJAX Extensions. Sometimes one really has to wonder about the MS product naming team’s priorities. Django is a cool name. is cool. Atlas was cool. ASP.NET AJAX Extensions is not. At least they did not work a “Windows” in there. But I digress.

Whatever you wish to call it, the ASP.NET AJAX Beta 1 has been released. Part and parcel with this is the release of ASP.NET AJAX “Value Add” CTP Beta 1. For a great explanation of what is in which package, see Scott Guthrie’s excellent explanation of the new lay of the land.

For the lazy and/or hurried, here is quick summary:

  • ASP.NET AJAX Beta 1 basically contains the “core” Atlas functions, including the UpdatePanel.
  • The Value Add pack contains a lot of stuff which was in the Atlas core, such as the AutoCompleteExtender or the UpdateProgress control.
  • Definitely check out the migration guide; it helps make a lot of the changes make sense. But, if you were using previous versions of Atlas heavily, you will be making some pretty significant changes to your applications.

Unfortunately, Microsoft has done one really dumb thing with this release: they make it install into the GAC and encourage developers to reference it from there. This is a very bad thing if you are not aware if it, as it can easily break your application in deployment if you are not careful. For those on shared hosts, it will require the hosting company to install it for the application to work. And I doubt too many shared hosts will want to install anything which is not in a final release state.

Fortunately, this issue can be worked around. How to depends on what kind of web projects you use. In either case, it is highly advisable to copy whatever version of the AJAX framework’s binaries into your project, just like any other staticly included library. Now, if you use Web Projects, as in the Visual Studio 2005 default Web Projects, you just need to copy the DLLs into your application’s bin folder. If you are using Web Application Projects (which you should really be using anyhow), there is a bit of a trick involved. First, reference the file DLL as you would any other DLL you wished to reference. Then edit the "Copy Local" property on Microsoft.Web.Extensions to true. This should force your application to deal with a local copy of the assembly rather than rely on the GAC copy.

Enjoy & happy web 2.0