Domanda

Sto usando T4 per generare alcune schermate e codice di livello intermedio per un progetto e vorrei usare Linq per semplificare parte del mio codice modello. Tuttavia, quando provo ad usare Linq, il modello riporta un errore di sintassi.

È stato utile?

Soluzione

Per impostazione predefinita in Visual Studio 2008 (e come usato nella maggior parte degli esempi online) il modello è compilato con il Framework 2.0, che non include Linq. (Vedi Discussione sul forum MSDN )

Per risolvere il problema, sono necessari tre passaggi:

  1. Nell'attributo di lingua del tuo modello, specifica " C # v3.5 " o "VBv3.5" - questo passaggio non è necessario per VS2010, dove viene sempre utilizzato .Net 4.0.
  2. Aggiungi una direttiva assembly per System.Core.dll
  3. Importa lo spazio dei nomi System.Linq

Il tuo modello ora avrà un aspetto simile al seguente:

<#@ template language="C#v3.5" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Linq" #>

Ora puoi usare Linq e altre nuove funzioni linguistiche nel tuo modello.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top