HOWTO: Running ASP.NET 2.0 Ajax Toolkit 1.0.x in .NET 3.5 / SP1 IIS
We had a bit of a dilemma at work today, we just sent a version of a web application we’ve been working on for the past few months to staging (testing) to our client. Our client mentioned a move to .NET 3.5 is pending on the boxes there and that they need to ensure the products we ship are compatible. Should be right?
We use the Microsoft Ajax Toolkit throughout the product in question, which is totally rad! The last version thats for .NET 2.0 is 20229 released in late February 2008, however with .NET 3.5 SP1 System.Web.Extensions
and System.Web.Extensions.Design
are already included which elivates the need to _install_ the AjaxControlToolkit.msi
on the server itself. The only thing is that we need to redirect all binding references to the newer 3.5 code by using (within ) in the Web.Config
also known as Assembly Binding Redirection.
Our web-server setup:
- Windows 2003 Server SP2
- .NET Framework 3.5 SP1 – Already had .NET 2.0 SP1 installed.
Product Setup:
- ASP.NET 2.0 (3.5 still uses the .NET 2.0 ASP.NET engine)
- AjaxControlToolkit – v1.0.20229.20821
Compiled with Visual Studio 2005 SP1.
Within the <configuration>
elements in the Web.Config
file, add the following:
<?xml version="1.0" encoding="UTF-8"?>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31BF3856AD364E35" />
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
!! NOTE
If your developer machines do not have .NET 3.5 SP1 installed then the above lines will need to be commented out as the CLR will fail to attempt to load newer versions.
Thats it! You dont need to update any assemblies or any other Web.Config
settings.