Recently, Telerik started providing their open source controls over nuget, and I happened to be on an ASP MVC 3 project that is potentially going to consume them, so I thought I'd look into the nuget support.

As it turns out merely installing the extensions via nuget will not magically turn your boring ASP MVC 3 Solution into a magic fun house of fancy pants controls. I needed to sprinkle in some fairy dust to get things to work correctly.

In particular I had to add the following XML to my web.config ( all of it! )

[sourcecode language="xml"]
<!-- under the configuration tag -->
<configSections>
<sectionGroup name="telerik">
<section
name="webAssets"
type="Telerik.Web.Mvc.Configuration.WebAssetConfigurationSection, Telerik.Web.Mvc"
requirePermission="false" />
<!--<span class="hiddenSpellError" pre=""-->sectionGroup>
<sectionGroup
name="system.web.webPages.razor"
type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section
name="host"
type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
requirePermission="false" />
<section
name="pages"
type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
requirePermission="false" />
</sectionGroup>
</configSections>
<system.web.webPages.razor>
<host
factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages
pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="System.Collections" />
<add namespace="Telerik.Web.Mvc.UI" />
</namespaces>
</pages>
</system.web.webPages.razor>
[/sourcecode]

Incidentally, this meant I had to add a reference to the System.Web.WebPages.Razor assembly as well.

After that, it all worked nicely.