{"id":4934,"date":"2007-07-28T15:50:00","date_gmt":"2007-07-28T15:50:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/webdev\/2007\/07\/28\/upgrading-asp-net-ajax-1-0-websites-and-web-applications-to-net-framework-3-5\/"},"modified":"2007-07-28T15:50:00","modified_gmt":"2007-07-28T15:50:00","slug":"upgrading-asp-net-ajax-1-0-websites-and-web-applications-to-net-framework-3-5","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/upgrading-asp-net-ajax-1-0-websites-and-web-applications-to-net-framework-3-5\/","title":{"rendered":"Upgrading ASP.NET AJAX 1.0 Websites and Web Applications to .NET Framework 3.5"},"content":{"rendered":"<p><FONT face=\"Calibri\">\n<DIV>\n<P class=\"Callout\"><FONT size=\"3\"><B>8\/10\/2007 UPDATE:<SPAN>&nbsp; <\/SPAN><\/B>This blog post was edited to include simplified instructions to work around a known issue w\/ Multitargeting support in VS 2008 Beta 2.<SPAN>&nbsp; <\/SPAN>See \u201cMachine Prerequisites\u201d below.<\/FONT><\/P><\/DIV>\n<P class=\"MsoNormal\"><FONT size=\"3\"><\/FONT><\/FONT>&nbsp;<\/P>\n<P class=\"MsoNormal\"><FONT face=\"Calibri\" size=\"3\">Microsoft Visual Studio 2008 Beta 2 is finally released, and with it comes a bunch of great new features for writing and maintaining ASP.NET AJAX applications.<SPAN>&nbsp; <\/SPAN>Additionally, a new version of ASP.NET AJAX is included in the .NET Framework 3.5, which includes improvements over the current ASP.NET AJAX 1.0 release.<SPAN>&nbsp; <\/SPAN>This article walks you through the steps you\u2019ll need to follow to upgrade your existing ASP.NET AJAX 1.0 Websites and Web Application Projects to use the AJAX support in .NET Framework 3.5 and Visual Studio 2008 Beta 2.<\/FONT><\/P>\n<P class=\"MsoNormal\"><FONT face=\"Calibri\" size=\"3\"><\/FONT>&nbsp;<\/P>\n<P class=\"MsoNormal\"><FONT size=\"3\"><FONT face=\"Calibri\"><B><I>Note: <\/I><\/B><I><SPAN>&nbsp;<\/SPAN>With the new Multitargeting support in Microsoft Visual Studio 2008, It is also possible to continue maintaining ASP.NET AJAX 1.0-based Websites and Web Application Projects in VS 2008 without upgrading them.<SPAN>&nbsp;&nbsp;<\/SPAN><A class=\"\" href=\"http:\/\/blogs.msdn.com\/webdevtools\/archive\/2007\/07\/30\/using-vs-2008-to-target-asp-net-ajax-1-0.aspx\">Click here<\/A> to learn&nbsp;the steps you can take to maintain and\/or create new ASP.NET AJAX 1.0 applications using Microsoft Visual Studio 2008 Beta 2.<\/I><\/FONT><\/FONT><\/P>\n<P class=\"MsoNormal\"><FONT size=\"3\"><FONT face=\"Calibri\"><I><\/I><\/FONT><\/FONT>&nbsp;<\/P><FONT size=\"3\"><FONT face=\"Calibri\">\n<P class=\"MsoNormal\"><B><SPAN>Machine Prerequisites:<\/SPAN><\/B><\/P>\n<P class=\"MsoNormal\">&nbsp;<\/P>\n<P class=\"MsoListParagraphCxSpFirst\"><SPAN><SPAN>1.<SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN>Download and install <A href=\"http:\/\/msdn2.microsoft.com\/en-us\/vstudio\/default.aspx\">Microsoft Visual Studio 2008 Beta 2<\/A><\/P>\n<P class=\"MsoListParagraphCxSpLast\"><SPAN><SPAN>2.<SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN>After the Beta 2 installation has finished, you should run this <A href=\"http:\/\/go.microsoft.com\/fwlink\/?linkid=95792\">script<\/A> to ensure that the installation of .NET Framework 3.5 Beta 2 will not affect the development of ASP.NET AJAX 1.0 applications.<SPAN>&nbsp; <\/SPAN>You should do this <EM>immediately<\/EM> after installing VS Beta 2. <\/P>\n<P class=\"MsoListParagraphCxSpFirst\"><SPAN><SPAN>3.<SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN>Apply the following workaround to fix a known issue with Visual Studio\u2019s Multitargeting support for AJAX 1.0.<SPAN>&nbsp; <\/SPAN>Note that this workaround will *not* be required for the VS 2008 RTM release:<\/P>\n<P class=\"MsoListParagraphCxSpLast\">&nbsp;<\/P>\n<DIV>\n<P class=\"Callout\"><B>Workaround to Fix VS 2008 Beta 2 Multitargeting Support for AJAX 1.0<\/B><\/P>\n<P class=\"Callout\">&nbsp;<\/P>\n<P class=\"Callout\"><SPAN>&nbsp;&nbsp;&nbsp; <\/SPAN>1. <SPAN>&nbsp;<\/SPAN>In Window\u2019s Explorer, go to this folder:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <EM>\\Program Files\\Reference Assemblies\\Microsoft\\Framework\\v3.5<\/EM><\/P>\n<P class=\"Callout\"><SPAN>&nbsp;&nbsp;&nbsp; <\/SPAN>2.<SPAN>&nbsp; <\/SPAN>Create a folder entitled \u201cBackup\u201d at this location<\/P>\n<P class=\"Callout\"><SPAN>&nbsp;&nbsp;&nbsp; <\/SPAN>3. <SPAN>&nbsp;<\/SPAN>Make a back-up copy of these two assemblies in the new \u201cBackup\u201d folder, and&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <B>then<\/B> <B>delete<\/B> <B>them<\/B>&nbsp;from <EM>\\Program Files\\Reference Assemblies\\Microsoft\\Framework\\v3.5<\/EM>:<\/P>\n<P class=\"Callout\">&nbsp;<\/P>\n<P class=\"Callout\"><I><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>System.Web.Extensions.dll<\/I><\/P>\n<P class=\"Callout\"><I><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>System.Web.Extensions.Design.dll<\/I><\/P>\n<P class=\"Callout\"><SPAN>&nbsp;&nbsp; <\/SPAN><\/P>\n<P class=\"Callout\"><B>Note:<\/B> <SPAN>&nbsp;<\/SPAN><U>This workaround causes two known side effects to Web Application Projects in VS 2008:<BR><SPAN>&nbsp;<\/SPAN><\/U><\/P>\n<P class=\"Callout\"><B><I>Creating a new 3.5 Web Application Project has a &#8220;broken&#8221; reference to System.Web.Extensions 0.0.0.0 in the client references list (Project Properties &gt; References).<\/I><\/B><SPAN>&nbsp; <\/SPAN>If you build the project, you will encounter this error:<B><I><SPAN>&nbsp; <\/SPAN><\/I><\/B><SPAN>The referenced assembly &#8220;D:\\Program Files\\Reference Assemblies\\Microsoft\\Framework\\v3.5\\System.Web.Extensions.dll&#8221; was not found. If this assembly is produced by another one of your projects, please make sure to build that project before building this one. <\/SPAN>In order to correct this, you need to manually remove this reference, then Browse&#8230; to the location of the System.Web.Extensions 3.5 backup you made in step 3 above to add the reference back to the project.<B><I><\/I><\/B><\/P>\n<P class=\"Callout\">&nbsp;<\/P>\n<P class=\"Callout\"><B><I>When upgrading a Web Application Project that uses AJAX 1.0 to .NET Framework 3.5, VS doesn&#8217;t remove the reference to System.Web.Extensions 1.0.6<\/I><\/B> in the client references list (Project Properties &gt; References).<SPAN>&nbsp; <\/SPAN>You need to manually remove this reference and then Browse&#8230; to the location of the System.Web.Extensions 3.5 backup you made in step 3 above to add the reference back to the project.<SPAN>&nbsp; <\/SPAN>This issue and workaround is described in more detail below.<\/P><\/DIV>\n<P class=\"MsoNormal\">&nbsp;<\/P>\n<P class=\"MsoNormal\"><B><SPAN>Step One:<SPAN>&nbsp; <\/SPAN>Upgrade Your ASP.NET AJAX Website<\/SPAN><\/B><\/P>\n<P class=\"MsoNormal\">&nbsp;<\/P>\n<P class=\"MsoListParagraphCxSpFirst\"><SPAN><SPAN>1.<SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN>First, make a backup of your project, then launch Microsoft Visual Studio 2008 Beta 2.<\/P>\n<P class=\"MsoListParagraphCxSpMiddle\"><SPAN><SPAN>2.<SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN>In the File menu, choose Open Website\u2026 to open your Website\u2019s folder or IIS virtual directory<\/P>\n<P class=\"MsoListParagraphCxSpMiddle\"><SPAN><SPAN>a.<SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN>If you are opening a Web Application project instead, choose \u201cOpen Project\u2026\u201d, and navigate to the project file to open it.<SPAN>&nbsp; <\/SPAN>Follow the steps of the Visual Studio Conversion wizard to migrate the project.<\/P>\n<P class=\"MsoListParagraphCxSpLast\"><SPAN><SPAN>3.<SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN>When Visual Studio 2008 prompts to upgrade the Website or Web Application, select \u201cYes\u201d<\/P>\n<P class=\"MsoNormal\"><EM><\/EM>&nbsp;<\/P>\n<P class=\"MsoNormal\"><IMG title=\"Framework Version Prompt\" height=\"180\" alt=\"Framework Version Prompt\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/16\/2019\/02\/FrameworkVersionPrompt.jpg\" width=\"574\"><\/P>\n<P class=\"MsoNormal\">&nbsp;<\/FONT><\/FONT><\/P>\n<DIV>\n<P class=\"Callout\"><FONT size=\"3\"><FONT face=\"Calibri\"><B>Important Note:<SPAN>&nbsp; <\/SPAN><\/B>When upgrading a Web Application Project that uses AJAX 1.0 to .NET Framework 3.5, VS doesn&#8217;t remove the reference to System.Web.Extensions 1.0.6 in the client references list (Project Properties &gt; References).<SPAN>&nbsp; <\/SPAN>You need to manually remove this reference and then Browse&#8230; to the location of the System.Web.Extensions 3.5 backup you made in step 3 above to add the reference back to the project, following these steps:<B><\/B><\/FONT><\/FONT><\/P>\n<P class=\"Callout\"><FONT face=\"Calibri\" size=\"3\">&nbsp;<\/FONT><\/P>\n<P class=\"Callout\"><FONT face=\"Calibri\" size=\"3\">1.<SPAN>&nbsp; <\/SPAN>Right-click the project node in Solution Explorer, and choose \u201cProperties\u201d<\/FONT><\/P>\n<P class=\"Callout\"><FONT face=\"Calibri\" size=\"3\">2.<SPAN>&nbsp; <\/SPAN>Click the \u201cReferences\u201d tab<\/FONT><\/P>\n<P class=\"Callout\"><FONT face=\"Calibri\" size=\"3\">3.<SPAN>&nbsp; <\/SPAN>Click the reference to \u201cSystem.Web.Extensions\u201d version 1.0.6 and click the \u201cRemove\u201d button<\/FONT><\/P>\n<P class=\"Callout\"><FONT face=\"Calibri\" size=\"3\">4.<SPAN>&nbsp; <\/SPAN>Click the \u201cAdd Reference\u201d button<\/FONT><\/P>\n<P class=\"Callout\"><FONT face=\"Calibri\" size=\"3\">5.<SPAN>&nbsp; <\/SPAN>Switch to the \u201cBrowse\u201d tab<\/FONT><\/P>\n<P class=\"Callout\"><FONT face=\"Calibri\" size=\"3\">6.<SPAN>&nbsp; <\/SPAN>Browse to the backup location for the 3.5 version of System.Web.Extensions.dll under \\Program Files\\Reference Assemblies\\Microsoft\\Framework\\v3.5\\Backup and click \u201cOK\u201d to add this reference.<\/FONT><\/P><\/DIV>\n<P class=\"MsoNormal\"><FONT face=\"Calibri\" size=\"3\">&nbsp;<\/FONT><BR><B><SPAN><FONT face=\"Calibri\">Step Two:<SPAN>&nbsp; <\/SPAN>Update the ASP.NET AJAX Control Toolkit assembly<\/FONT><\/SPAN><\/B><\/P>\n<P class=\"MsoNormal\"><FONT face=\"Calibri\" size=\"3\"><BR>If your application uses the <\/FONT><A href=\"http:\/\/www.codeplex.com\/AtlasControlToolkit\"><FONT face=\"Calibri\" size=\"3\">ASP.NET AJAX Control Toolkit<\/FONT><\/A><FONT face=\"Calibri\" size=\"3\">, you will need to follow these additional instructions to update the toolkit assembly in your application to a <\/FONT><A href=\"http:\/\/www.codeplex.com\/AtlasControlToolkit\/Release\/ProjectReleases.aspx?ReleaseId=4923\"><FONT face=\"Calibri\" size=\"3\">new release<\/FONT><\/A><FONT face=\"Calibri\" size=\"3\"> that works with .NET Framework 3.5:<\/FONT><\/P>\n<P class=\"MsoNormal\"><FONT face=\"Calibri\" size=\"3\">&nbsp;<\/FONT><\/P>\n<P class=\"MsoListParagraphCxSpFirst\"><SPAN><SPAN><FONT face=\"Calibri\" size=\"3\">1.<\/FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN><FONT face=\"Calibri\" size=\"3\">Click here to go to the <\/FONT><A href=\"http:\/\/www.codeplex.com\/AtlasControlToolkit\/Release\/ProjectReleases.aspx?ReleaseId=4923\"><FONT face=\"Calibri\" size=\"3\">ASP.NET AJAX Toolkit Release page<\/FONT><\/A><\/P>\n<P class=\"MsoListParagraphCxSpMiddle\"><SPAN><SPAN><FONT face=\"Calibri\" size=\"3\">2.<\/FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN><FONT face=\"Calibri\" size=\"3\">Download the latest version of the toolkit for .NET Framework version 3.5 (choose one):<\/FONT><\/P>\n<P class=\"MsoListParagraphCxSpMiddle\"><SPAN><SPAN><FONT face=\"Calibri\" size=\"3\">a.<\/FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN><FONT face=\"Calibri\" size=\"3\">AjaxControlToolkit-Framework3.5-NoSource.zip<\/FONT><\/P>\n<P class=\"MsoListParagraphCxSpMiddle\"><SPAN><SPAN><FONT face=\"Calibri\" size=\"3\">b.<\/FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN><FONT face=\"Calibri\" size=\"3\">AjaxControlToolkit-Framework3.5.zip (includes source code)<\/FONT><\/P>\n<P class=\"MsoListParagraphCxSpMiddle\"><SPAN><SPAN><FONT face=\"Calibri\" size=\"3\">3.<\/FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN><FONT face=\"Calibri\" size=\"3\">In Windows Explorer, right-click the zip file and choose \u201cExtract All\u2026\u201d to extract the contents to an \u201cAjaxControlToolkit-Framework3.5\u201d folder in the same directory<\/FONT><\/P>\n<P class=\"MsoListParagraphCxSpLast\"><SPAN><SPAN><FONT face=\"Calibri\" size=\"3\">4.<\/FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN><FONT face=\"Calibri\" size=\"3\">Copy the AjaxControlToolkit.dll assembly from AjaxControlToolkit-Framework3.5\\SampleWebSite\\Bin to your application\u2019s Bin directory, replacing the previous version of the toolkit assembly<\/FONT><\/P>\n<P class=\"MsoNormal\"><FONT face=\"Calibri\" size=\"3\">&nbsp;<\/FONT><\/P>\n<P class=\"MsoNormal\"><FONT size=\"3\"><FONT face=\"Calibri\"><U>(Optional):<SPAN>&nbsp; <\/SPAN>Install the ASP.NET AJAX Toolkit controls to the VS 2008 toolbox<\/U> <\/FONT><\/FONT><\/P>\n<P class=\"MsoNormal\"><FONT face=\"Calibri\" size=\"3\">You can also populate the toolbox in VS 2008 with the ASP.NET AJAX Toolkit controls by following these instructions:<\/FONT><\/P>\n<P class=\"MsoNormal\"><FONT face=\"Calibri\" size=\"3\">&nbsp;<\/FONT><\/P>\n<P class=\"MsoListParagraphCxSpFirst\"><SPAN><SPAN><FONT face=\"Calibri\" size=\"3\">1.<\/FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN><FONT face=\"Calibri\" size=\"3\">Open a Web Form (.aspx page) in your project<\/FONT><\/P>\n<P class=\"MsoListParagraphCxSpMiddle\"><SPAN><SPAN><FONT face=\"Calibri\" size=\"3\">2.<\/FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN><FONT face=\"Calibri\" size=\"3\">Right-click the Toolbox and choose \u201cAdd Tab\u201d<\/FONT><\/P>\n<P class=\"MsoListParagraphCxSpMiddle\"><SPAN><SPAN><FONT face=\"Calibri\" size=\"3\">3.<\/FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN><FONT face=\"Calibri\" size=\"3\">Give the new tab a name, such as \u201cASP.NET AJAX Toolkit 3.5\u201d<\/FONT><\/P>\n<P class=\"MsoListParagraphCxSpLast\"><SPAN><SPAN><FONT face=\"Calibri\" size=\"3\">4.<\/FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN><FONT face=\"Calibri\" size=\"3\">Right click underneath the new tab and select \u201cChoose Items\u2026\u201d (note that it can take awhile to bring up the this dialog for the first time) <\/FONT><\/P>\n<P class=\"MsoNormal\">&nbsp;<\/P>\n<P class=\"MsoNormal\"><IMG title=\"Toolbox Choose Items\" height=\"491\" alt=\"Toolbox Choose Items\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/16\/2019\/02\/ToolboxChooseItems.jpg\" width=\"381\"><\/P>\n<P class=\"MsoNormal\">&nbsp;<\/P>\n<P class=\"MsoListParagraphCxSpFirst\"><SPAN><SPAN><FONT face=\"Calibri\" size=\"3\">5.<\/FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN><FONT face=\"Calibri\" size=\"3\">In the Choose Toolbox Items dialog, click the Browse\u2026 button<\/FONT><\/P>\n<P class=\"MsoListParagraphCxSpLast\"><SPAN><SPAN><FONT face=\"Calibri\" size=\"3\">6.<\/FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN><FONT face=\"Calibri\" size=\"3\">Browse to \\AjaxControlToolkit-Framework3.5\\SampleWebSite\\Bin, select AjaxControlToolkit.dll, and click the \u201cOpen\u201d button.<\/FONT><\/P>\n<P class=\"MsoNormal\">&nbsp;<\/P>\n<P class=\"MsoNormal\"><IMG title=\"Toolbox Choose Items Dialog Browse\" height=\"484\" alt=\"Toolbox Choose Items Dialog Browse\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/16\/2019\/02\/ToolboxChooseItemsDialogBrowse.jpg\" width=\"614\"><\/P>\n<P class=\"MsoNormal\">&nbsp;<\/P><SPAN><SPAN><FONT face=\"Calibri\" size=\"3\">\n<P class=\"MsoListParagraph\"><SPAN><SPAN>7.<SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN>You should see the toolkit controls selected in the Choose Toolbox Items dialog.<SPAN>&nbsp; <\/SPAN>Click OK to add these controls to the toolbox.<\/P>\n<P class=\"MsoNormal\">&nbsp;<\/P>\n<P class=\"MsoNormal\"><IMG title=\"Toolbox Choose Items Dialog\" height=\"429\" alt=\"Toolbox Choose Items Dialog\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/16\/2019\/02\/ToolboxChooseItemsDialog.jpg\" width=\"628\"><\/P>\n<P class=\"MsoNormal\">&nbsp;<\/P>\n<P class=\"MsoNormal\"><B><SPAN>Step Three:<SPAN>&nbsp; <\/SPAN>Update Web.config to allow 3<SUP>rd<\/SUP>-party AJAX 1.0 components to use .NET Framework 3.5<\/SPAN><\/B><\/P>\n<P class=\"MsoNormal\">&nbsp;<\/P>\n<P class=\"MsoNormal\">As described above in Step Two, a new version of the Microsoft ASP.NET AJAX Control Toolkit is available that is compiled against the ASP.NET AJAX (System.Web.Extensions) assembly in .NET Framework 3.5.<SPAN>&nbsp; <\/SPAN>However, your application may also be using 3<SUP>rd<\/SUP>-party components\/assemblies that were compiled against ASP.NET AJAX 1.0.<SPAN>&nbsp; <\/SPAN>In order for these components to continue working under the .NET Framework 3.5, you must add the following bindingRedirect section to the Web.config file of your ASP.NET AJAX 3.5 application.<SPAN>&nbsp; <\/SPAN>This causes the 3<SUP>rd<\/SUP>-party component to bind to the 3.5 version of System.Web.Extensions instead of the 1.0 version.<\/P>\n<P class=\"MsoNormal\">&nbsp;<\/P>\n<P class=\"MsoNormal\"><SPAN><SPAN>&nbsp; <\/SPAN>&lt;<\/SPAN><SPAN>runtime<\/SPAN><SPAN>&gt;<\/SPAN><\/P>\n<P class=\"MsoNormal\"><SPAN><SPAN>&nbsp;&nbsp;&nbsp; <\/SPAN>&lt;<\/SPAN><SPAN>assemblyBinding<\/SPAN><SPAN> <\/SPAN><SPAN>xmlns<\/SPAN><SPAN>=<\/SPAN><SPAN>&#8220;<SPAN>urn:schemas-microsoft-com:asm.v1<\/SPAN>&#8220;<SPAN>&gt;<\/SPAN><\/SPAN><\/P>\n<P class=\"MsoNormal\"><SPAN><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>&lt;<\/SPAN><SPAN>dependentAssembly<\/SPAN><SPAN>&gt;<\/SPAN><\/P>\n<P class=\"MsoNormal\"><SPAN><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>&lt;<\/SPAN><SPAN>assemblyIdentity<\/SPAN><SPAN> <\/SPAN><SPAN>name<\/SPAN><SPAN>=<\/SPAN><SPAN>&#8220;<SPAN>System.Web.Extensions<\/SPAN>&#8220;<SPAN> <\/SPAN><SPAN>publicKeyToken<\/SPAN><SPAN>=<\/SPAN>&#8220;<SPAN>31bf3856ad364e35<\/SPAN>&#8220;<SPAN>\/&gt;<\/SPAN><\/SPAN><\/P>\n<P class=\"MsoNormal\"><SPAN><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>&lt;<\/SPAN><SPAN>bindingRedirect<\/SPAN><SPAN> <\/SPAN><SPAN>oldVersion<\/SPAN><SPAN>=<\/SPAN><SPAN>&#8220;<SPAN>1.0.0.0-1.1.0.0<\/SPAN>&#8220;<SPAN> <\/SPAN><SPAN>newVersion<\/SPAN><SPAN>=<\/SPAN>&#8220;<SPAN>3.5.0.0<\/SPAN>&#8220;<SPAN>\/&gt;<\/SPAN><\/SPAN><\/P>\n<P class=\"MsoNormal\"><SPAN><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>&lt;\/<\/SPAN><SPAN>dependentAssembly<\/SPAN><SPAN>&gt;<\/SPAN><\/P>\n<P class=\"MsoNormal\"><SPAN><SPAN>&nbsp;&nbsp;&nbsp; <\/SPAN>&lt;\/<\/SPAN><SPAN>assemblyBinding<\/SPAN><SPAN>&gt;<\/SPAN><\/P>\n<P class=\"MsoNormal\"><SPAN><SPAN>&nbsp; <\/SPAN>&lt;\/<\/SPAN><SPAN>runtime<\/SPAN><SPAN>&gt;<\/SPAN><\/P>\n<P class=\"MsoNormal\">&nbsp;<\/P>\n<P class=\"MsoNormal\"><B>Important: <\/B><SPAN>&nbsp;<\/SPAN>For this configuration to work, ASP.NET AJAX 1.0 must also be installed to the machine.<\/P>\n<P class=\"MsoNormal\">&nbsp;<\/P>\n<P class=\"MsoNormal\">The bindingRedirect only applies at runtime, so at design-time the third-party component will still be referencing System.Web.Extensions 1.0.<SPAN>&nbsp; <\/SPAN>As a result, you may encounter the following issues:<\/P>\n<P class=\"MsoNormal\">&nbsp;<\/P>\n<P class=\"MsoListParagraphCxSpFirst\"><SPAN><SPAN>\u00b7<SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN>If the third-party component is an ExtenderControl, it will not get the VS 2008 ExtenderControl designer enhancements.<\/P>\n<P class=\"MsoListParagraphCxSpMiddle\"><SPAN><SPAN>\u00b7<SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN>You will not get intellisense for references to scripts inside the third-party assembly.<\/P>\n<P class=\"MsoListParagraphCxSpLast\"><SPAN><SPAN>\u00b7<SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN>You may get this warning when building your site: \u201cAssuming assembly reference &#8216;System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&#8217; matches &#8216;System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&#8217;, you may need to supply runtime policy.\u201d<\/P>\n<P class=\"MsoNormal\">&nbsp;<\/P>\n<P class=\"MsoNormal\"><B><SPAN>Conclusion<\/SPAN><\/B><\/P>\n<P class=\"MsoNormal\">Your Website is now completely upgraded and ready to take advantage of ASP.NET AJAX 3.5!<\/P>\n<P class=\"MsoNormal\">&nbsp;<\/P>\n<P class=\"MsoListParagraph\">&nbsp;<\/P><\/FONT><\/SPAN><\/SPAN><\/p>\n","protected":false},"excerpt":{"rendered":"<p>8\/10\/2007 UPDATE:&nbsp; This blog post was edited to include simplified instructions to work around a known issue w\/ Multitargeting support in VS 2008 Beta 2.&nbsp; See \u201cMachine Prerequisites\u201d below. &nbsp; Microsoft Visual Studio 2008 Beta 2 is finally released, and with it comes a bunch of great new features for writing and maintaining ASP.NET AJAX [&hellip;]<\/p>\n","protected":false},"author":404,"featured_media":58792,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[197],"tags":[4,7279,31,7262,7273,7272,147,7267,7268,7269],"class_list":["post-4934","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aspnet","tag-net","tag-ajax","tag-asp-net","tag-development","tag-orcas","tag-tips-and-tricks","tag-visual-studio","tag-vwd","tag-web","tag-web-2-0"],"acf":[],"blog_post_summary":"<p>8\/10\/2007 UPDATE:&nbsp; This blog post was edited to include simplified instructions to work around a known issue w\/ Multitargeting support in VS 2008 Beta 2.&nbsp; See \u201cMachine Prerequisites\u201d below. &nbsp; Microsoft Visual Studio 2008 Beta 2 is finally released, and with it comes a bunch of great new features for writing and maintaining ASP.NET AJAX [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/4934","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/404"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=4934"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/4934\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/58792"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=4934"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=4934"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=4934"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}