miércoles, 6 de marzo de 2013

Métodos extensores que no compilan en SharePoint 2010

Cuando en SharePoint 2010 intentamos usar en un user control o un visual web part un método extensor que hemos definido en un assembly .Net 3.5, nos podemos encontrar con el error:
CS0117: 'TipoDeDatos' does not contain a definition for 'MetodoExtensor'.
Este error se produce porque SharePoint está configurado para que realice la compilación dinámica con una versión del compilador de C# que no soporta todas las características de C# 3.5.
Podemos cambiar esto modificando la forma en que nuestra aplicación compila dinámicamente los ficheros .ascx, incluyendo esto en el web.config:
<system.codedom="">
   <compilers>
      <compiler extension=".cs" language="c#;cs;csharp" type="Microsoft.CSharp.CSharpCodeProvider, System, 
               Version=2.0.0.0, Culture=neutral, 
               PublicKeyToken=b77a5c561934e089" warninglevel="4">
         <provideroption name="CompilerVersion" value="v3.5"/>
         <provideroption name="WarnAsError" value="false"/>
      </compiler>
   </compilers>
</system.codedom> 


No hay comentarios:

Publicar un comentario