Recent Articles

Upgrading DNN 4.x to .NET 3.5

At some point, if you're running an older version of DotNetNuke (eg. 4.x), you may want to upgrade your DNN to use .NET 3.5 to take advantage of the new features. First of all,you need to make sure .NET 3.5 framework is installed.

At this point, you need to get the referenced version level in your web.config to match the 3.5 version level. If you got time, you could match the changes in the web.config with standard ASP.NET 3.5 web.config from any project you have running. The simplest step is to run the LinqPrep tool by Michael Washington.

The LinqPrep tool doesn't update the System.Web.Extensions version, in my case, in which case you should manually go into the web.config and change these values:

<assemblies>
        <add assembly="Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        <add assembly="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        <add assembly="System.Management, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>

Also make sure the controls section is updated:

<controls>
        <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</controls>

Finally, if you got older modules built with .NET 2.0 running on your site, you may want to make sure you got this section to redirect old assemblies to the new version:

<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>

</assemblyBinding>

Starting in DNN 5.0, there's a command button in Host Settings to automatically update to .NET 3.5 for you. For everyone else, you should follow this guideline. Note that ASP.NET will continue to run .NET 2.0 if you check the Application Pool because the 3.5 is an add-on to the 2.0 core.