ASP.NET AJAX 1.0 Release Candidate Now Available

Earlier today the ASP.NET team shipped the release candidate for ASP.NET AJAX 1.0.  This is the penultimate release of ASP.NET AJAX - the next public release will be the final, fully supported, 1.0 product. 

This release candidate build includes several new features, and one important change, from the Beta2 release.  You can read a document that lists all changes from the CTP->Beta1->Beta2->RC here.  At a high-level, the changes from Beta2 to RC include:

- Inclusion of a built-in VS 2005 Web Application Project template to create new ASP.NET AJAX applications.  This now allows you to pick File->New Project (in addition to the existing template in File->New Web Site) to create new ASP.NET AJAX enabled web applications.

- Additional globalization support for AJAX applications, as well as additional script resource handler features to improve substitution logic, compression and caching.  Dynamic invocation of web service proxies from JavaScript is also now supported.

- The assembly name of ASP.NET AJAX changed from Microsoft.Web.Extensions.dll to System.Web.Extensions.dll, and the namespace of the server-side features of ASP.NET AJAX changed from Microsoft.Web to System.Web.  Note that the client JavaScript namespaces did not change (which avoids breaking existing client JavaScript code). 

The team made this last server namespace and assembly change for two reasons:

1) Because ASP.NET AJAX will be a fully-supported part of the core .NET Framework going forward, and so for consistency it makes sense for the final release to live under the "System" namespace - which is where the other core parts of the .NET Framework and ASP.NET live.

2) Because it will help make upgrading to the "Orcas" release of ASP.NET and Visual Studio much easier.  ASP.NET AJAX will be built-in with "Orcas" (so you don't have to download and install it separately), and by making the namespace change it means that your code will not need to change.  You'll be able to optionally keep your applications running using the ASP.NET AJAX 1.0 release just fine if you want (it will run and be supported on top of Orcas) - or you'll be able to change the version string in your web.config file and automatically upgrade to the newer version of ASP.NET AJAX that will be included built-in to ASP.NET "Orcas". 

This whitepaper provides step-by-step instructions on how to upgrade existing ASP.NET AJAX Beta2 applications to the ASP.NET AJAX RC build

Important Intellisense Tip:

One additional step you'll want to make after you follow the steps in the whitepaper above is to delete the cached schema files for control markup Intellisense that VS maintains.  This will ensure that your HTML source editor Intellisense for the ASP.NET AJAX controls is correct and doesn't get lost (otherwise it might incorrectly use the old values from the Beta2 release).   

- With Windows XP you do this by deleting all files in this directory: c:\Document and Settings\[YourUserName]\Application Data\Microsoft\VisualStudio\8.0\ReflectedSchemas

- With Windows Vista you do this by deleting all files in this directory: c:\Users\[YourUserName]\AppData\Roaming\Microsoft\VisualStudio\8.0\ReflectedSchemas

Once you delete these schema files and restart VS, it will re-calculate the HTML markup Intellisense for all controls and pick up the changes from the assembly name change.

Hope this helps,

Scott

41 Comments

  • Does it work in a Spanish Visual Studio & Spanish Windows XP?

  • Hi Scott,

    Excellent job!

    One question: does this mean that a newer version of Web Application Project template is released too? If not - when will you release a newer version of it? As far as I remember the latest version was a beta and not even an RC, am I right?

    Thanks,
    David.

  • Congratulations on Microsoft.com going default.aspx!

  • LocalSettings\Application Data\ not AppData surely?

    And with VS2005SP1 install I also appear to have a 8.0Exp directory as well

  • Great.

    I will have a try!

  • So when do expect the final release to be?

  • I'm a bit confused here. According to what you wrote and what I've read the namespaces have changed from Microsoft.Web to System.Web, but when I download the RC the web.config and the .dll's in the %ProgramFiles%\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025\ are still Microsoft.Web.Extensions.dll.
    Am I missing something here?

    Thanks,
    Mike

  • Hi Scott,

    Is this the final baked version?
    That is bar bug fixes, all name spaces , dll's and control properties etc are fixed in stone.

    I have wanted to implement all this cool stuff in a live site for quite some time but its not practical when you have to continually refactor because of AJAX library changes.

    Keep up the good work.

  • Why is the ajax.asp.net home page news article on this topic dated Thursday 19, 2006?

  • Hello Scott,

    I'm having an issue with RC1 (and Beta 2) under IIS7 (Vista RTM - IE7). I'm receiving the ever popular "'Sys' is undefined" error. I've tried all of the solutions posted on Asp.Net forums (and elsewhere on the web). This is fresh AJAX app, not an upgrade from a previous version - it's just the template that is built when you first start the app.

    It only happens on IIS7, though. I can run the app from VS2005 (F5) and it runs fine in the WebServer/Casani (IE7). I can also publish the app and run it fine from a Win2003 box (IIS6).

    Any ideas?

    Thanks!

  • Now with this version, is there any server-side solution or workaround for IE 6.0.2800.1106 SP1 ?

  • Hi Pirri,

    Yep - it will work with the Spanish version of Visual Studio and the Spanish version of Windows XP.

    Hope this helps,

    Scott

  • Hi David,

    We actually shipped the 1.0 release of the VS 2005 Web Application Project back in May. It is also now included built-in with VS 2005 SP1: http://weblogs.asp.net/scottgu/archive/2006/12/15/visual-studio-2005-service-pack-1-sp1-released.aspx

    Hope this helps,

    Scott

  • Hi Gurbhajan,

    I expect the final release of ASP.NET AJAX to happen in about 4 weeks. We are just waiting on any last minute bug reports.

    Hope this helps,

    Scott

  • Hi David,

    This build is pretty baked. At this point we are just looking for last minute bug fixes, and will be making a few final tweaks. But if you are looking to get started I think you'll find the RC a good build to pick up.

    Thanks,

    Scott

  • Hey Scott, the actual path for removing the reflected schemas is incorrect, saying that its rooted in Local Settings but is instead the following:

    Windows XP:
    %UserProfile%\Application Data\Microsoft\VisualStudio\8.0\ReflectedSchemas

  • Hi Phil,

    Any chance you could send me an email (scottgu@microsoft.com) that includes your web.config file and details of the problem? I can then have someone on my team take a look and help.

    thanks,

    Scott

  • Hi Marek,

    Yep - we've identified an issue that IE 6 SP1 with a certain QFE has with compressed JavaScript files. With the RC you can fix this by using the new switch inside web.config files that allows you to turn off JavaScript compression.

    With the final RTM version of the product we are also going to add automatic logic with ASP.NET AJAX to allow all other browser versions to be compressed - but then disable compression for this specific one.

    Hope this helps,

    Scott

  • Hi Barry/Andrew/Rachit/Amrinder/Eric,

    Thanks for catching that path issue - I just upadated the post with the right one.

    Thx!

    Scott

  • While downloading, installing, and implementing various tools in the release I had no problems at all while I was developing locally. When it came time to deploy to my web host I had two accomplish two things.

    1. While I have reference to System.Web.Extensions.dll and System.Web.Extensions.Design.dll from the GAC I had to physically include these two assemblies in my BIN folder.

    2. I also had to enable "allow this precompiled site to be updatable".

    Otherwise without these two steps I was getting the following exception: Object reference not set to an instance of an object

    Why is this?

  • Hi Steven,

    That is pretty odd - you shouldn't need the reference in the \bin directory. Can you double-check that you installed the ASP.NET AJAX RC build on the server that you deployed to?

    Thanks,

    Scott

  • The ASP.NET AJAX RC is not installed on the web host and IMHO (hostname withheld) the web host I am dealing with wants to charge each customer for this step which I feel is silly since it is a one time shot.

    This explains why I have to physically deploy the assemblies but what about "allow this precompiled site to be updatable"?

  • Hello Scott.

    I have a problem on RegisterStartupScript, I am not sure whether this is a bug.
    Two button on the page, one is in updatepanel, the other is not but it is updatepanel's AsyncPostBackTrigger
    they have same serverside code. such as
    System.Web.UI.ScriptManager.RegisterStartupScript(this.Button1, this.GetType(), "cbtn1_click", "alert('Foo');", true);
    System.Web.UI.ScriptManager.RegisterStartupScript(this.Button2, this.GetType(), "cbtn2_click", "alert('Foo');", true);

    The button in updatepanel works well, the other one does not work.

  • Alert! I've been trying to get an answer on this question before you guys ship out AJAX Extensions:

    Why does calling Update() on the UpdatePanel when the mode is Always throw an exception?! I would recommend not throwing an exception and just simply moving on, since the update panel would have updated anyways...

    Is there an actual product feedback site for this? Obviously this isn't a breaking change, and should be this way... I simply can't understand why the library would throw an exception for a codition that isn't exceptional...

  • Hi Scott,

    Can you please confirm whether or not your team has determined why pre-compiled deployments are not working with the RC?

    I've posted in the forums, and I did see your reply there, but there have been no acknowledgements of the issue, and certainly no indications of whether a fix is on the way or not.

    BTW, I did install the RC to the GAC, and there are no previous installations present on the server. I also tried copying the DLLs directly to the bin folder. I am using Win2003, and my app uses all three Atlas technologies -- the RC, Futures, and Toolkit. I used a web deployment project, and I tried merging the assemblies every possible way.

    Thanks.

  • Hi Speednet,

    I just posted on the forum thread again. It looks like there is a weird bug when you don't have the "allow the precompiled site to be updatable" checkbox selected. The developer in this area is going to be investigating to figure out what is wrong shortly.

    Thanks,

    Scott

  • Hi Eric,

    I'm not entirely sure why it throws an error in that case - I just sent mail to someone on my team to understand why.

    For sending feedback to the team, the best place to go is the ASP.NET AJAX forums on http://forums.asp.net or the Connect site on Microsoft (where you can submit bugs).

    Thanks,

    Scott

  • Thanks heaps Scott for helping get this sorted out - big ups to your hard work :)

    cheers from down-under!

  • Hi Scott,

    since I migrated from Beta 2 to the new RC, asp:AutoCompleteExtender is not recognized anymore. Has this feature disappeared with the new version or has it just been renamed?

    Thanks in advance.
    Tim

  • Hi Tim,

    The autocompleteextender is actually now in the "Futures" download for ASP.NET AJAX. If you install this download you'll be able to use it just fine.

    Hope this helps,

    Scott

  • Hi Scott,
    which is the best way for reporting bugs/sugestions for the asp.net ajax?

    Thanks

  • Hi Bruno,

    The best way to report issues is via the forums on http://ajax.asp.net or via the connect bug reporting tool on MSDN.

    Thanks,

    Scott

  • Scott, i'm getting Sys is undefined error, i did every thing mentioned in Release notes, but the problem exists. I'm using Windows 2000 professional. Even if i open Asp.Net AJAX site the Sys is undefined error occurs. One thing to note is that wheni run the sample ajax page first time, every thing works fine, but if i refresh, or postback the page the error occurs,Also if we delete everything from TemporaryInternetFiles folder, the error does not occurs.

  • Hey Scott, just found out about a nice clash between CSS Friendly adapters and the AJAX extensions

    If you have all your dlls in the GAC and you load (through <add assembly...) the dll holding the CSS adapters before the web.extensions dll, your Adapters won't work.

  • Hi Eric,

    The reason we throw when you call Update() and Mode=Always is that we found that many people didn’t realize that it was a no-op. People assumed that they were somehow optimizing their app by only calling Update() on a specific UpdatePanel. By throwing the exception we thought we made it clearer that what they are doing would have no effect on the app.

    You’re definitely right that it isn’t “exceptional” however almost every time I’ve seen someone call Update() they didn’t bother setting Mode=Conditional, which totally negates the usefulness of the feature.

  • Hi Colin,

    That is a pretty odd error - I haven't heard of that before. Any chance you could email me your web.config file along with details of the error you saw? I can then have someone take a look to figure out what is going on.

    Thanks,

    Scott

  • Hi Johan

    I see the very same problem. Removing got rid of the 'Sys' is undefined problem on IIS7.

  • Hi Scott,

    I installed AJAX 1.0 and deleted ReflectedSchemas, but I still got build error from page source view in VS05. If I build my solution from Design view or closed the pages, it works. Is this a bug?

    Thanks,

    Sean Xiao

  • Hi Sean,

    Do you have VS 2005 SP1 installed? I believe this fixes this issue.

    Thanks,

    Scott

  • I'm very disappointed that the decision to make this assembly only in the GAC was made.

    1. I have to move my code to a host, this takes it out of my hands and I'm relied on them not to muck it up or to install it

    2. Even if 'windows update' is the reason, why isn't this an option?

    Why this type of change on release? These decisions make me not want to use your products because they are made without the developers in mind, just to make it nice for MS.

    So - I have a ticket to my host, my site is not functional, etc... Great way to make a great product fail.

    :(


  • Hi Steve,

    Sorry about this - we thought pretty long and hard about what the right thing to-do on this was, and arrived at the approach we took for two reasons:

    1) If we ever need to release a security fix or an important update to ASP.NET AJAX, then storing it in the GAC is the only way that would be posible to patch it. If it is in the \bin directory of applications, there would be no way for a patcher to know which, when, where to update.

    2) ASP.NET AJAX has a few cases where it needs to elevate security. If the assembly is in the \bin directory, then the application would need to run in full-trust (which most hosters don't allow). However, in the GAC applications can use it in medium trust (the default hoster configuration) just fine.

    The feedback we've been receiving from hosters is that they are moving to install ASP.NET AJAX pretty aggresively now that it is a 1.0 product. I'm hoping you won't have problems getting your hoster to install it.

    Hope this helps explain,

    Scott

Comments have been disabled for this content.