¿Cómo puedo usar Linq en una plantilla T4?
Pregunta
Estoy usando T4 para generar algunas pantallas y código de nivel intermedio para un proyecto, y me gustaría usar Linq para simplificar algunos de los códigos de mi plantilla. Sin embargo, cuando intento usar Linq, la plantilla informa un error de sintaxis.
Solución
De forma predeterminada en Visual Studio 2008 (y como se usa en la mayoría de los ejemplos en línea) la plantilla se compila con el Framework 2.0, que no incluye Linq. (Vea Tema del foro MSDN )
Para resolver el problema, se necesitan tres pasos:
- En el atributo de idioma de su plantilla, especifique " C # v3.5 " o " VBv3.5 " - este paso no es necesario para VS2010, donde siempre se usa .Net 4.0.
- Agregue una directiva de ensamblado para System.Core.dll
- Importe el espacio de nombres System.Linq
Su plantilla ahora tendrá un aspecto similar al siguiente:
<#@ template language="C#v3.5" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Linq" #>
Ahora puedes usar Linq y otras funciones de nuevo idioma en tu plantilla.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow