Visual Studio 2010 Release Candidate und Entity Framework POCO Template aus Beta 2

Für die Visual Studio 2010 Version Beta 2 standen Entity Framework T4 Templates zur Erzeugung von POCO Klassen zur Verfügung. Nach der Installation von Visual Studio 2010 Release Candiate funktionieren diese aber nicht mehr. Beim erzeugen bzw. kompilieren erscheint die Fehlermeldung:

The type or namespace name ‘TemplateFileManager’ could not be found (are you missing a using directive or an assembly reference?)

image

Neue Templates zur Erstellung stehen, zumindest bis zum Veröffentlichungstermin dieses Blogeintrages, noch nicht zur Verfügung.

Grund für die Fehlermeldung ist eine Änderung im Include File “EF.Utility.CS.ttinclude”. Dieses ist im Template wie folgt angegeben:

<#@ include file="EF.Utility.CS.ttinclude"#>

Die temporäre Lösung, bis neue Templates zur Verfügung stehen, ist das alte Include File der Beta 2 Version zu benutzen. Die Include Files sind unter:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\Templates\Includes

oder

C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\Templates\Includes

abgelegt.

  1. EF.Utility.CS.ttinclude Datei der Beta 2 Version besorgen.
    1. Steht die Datei nicht mehr zur Verfügung kann sie aus dem ISO Image der Beta 2 kopiert werden. Im Ordner WCU\EFTools\ die CAB Datei ADONETEntityFrameworkTools_enu.cab öffnen. Es handelt sich um die Datei “EntityDesignerTemplates_EFIncludeCS_x86.3643236F_FC70_11D3_A536_0090278A1BB8”. Diese Datei kopieren und umbenennen.
  2. EF.Utility.CS.ttinclude Datei der Beta 2 Version umbenennen in z.B. EF.BETA2.Utility.CS.ttinclude
  3. EF.BETA2.Utility.CS.ttinclude in das Include Verzeichnis kopieren
  4. Im fehlerhaften T4 Template die Zeile <#@ include file="EF.Utility.CS.ttinclude"#> in <#@ include file="EF.BETA2.Utility.CS.ttinclude"#> ändern
  5. Änderungen speichern

Nach diesen Änderungen konnte ich das Projekt wieder kompilieren und die POCO Klassen wurden wieder erstellt.