T4 Templates - Der Nachteil einer Textdatei

Gerade wollte ich mir die Zeit nehmen und bei der deutschen Version von Visual Studio 2010 das Codegenerierungselement Self Tracking Entities testen. In der Englischen Umgebung habe ich bisher keine Probleme mit der Basisfunktionalität gehabt. Nun bei der deutschen Version hat wohl Murphy seine Finger im Spiel.

Abbildung 1
Abbildung 1 Auswahl Enititätsklassen mit Selbstnachverfolgung

Das erste was mich nach der Auswahl erwartet sind 4 Fehler im T4 - Templatecode.

Abbildung 2
Abbildung 2 Fehler nach Auswahl des Codegenerierungselement zur Selbstverfolgung

Wenn ich zu den Code in das Template springe, ist folgender Code-Block ersichtlich:

C# TT - CodeBlock-Ausschnitt
    // <#=String.Format(CultureInfo.CurrentCulture, "Zeichnet die ursprünglichen Werte für die komplexe Eigenschaft "{0}" auf.", edmProperty.Name)#>
    private void Handle<#=edmProperty.Name#>Changing(object sender, EventArgs args)
    {
        if (ChangeTracker.State != ObjectState.Added && ChangeTracker.State != ObjectState.Deleted)
        {
            ChangeTracker.State = ObjectState.Modified;
        }
<#
        if (originalValueMembers.IsOriginalValueMember(edmProperty))
        {
#>
        <#=code.Escape(edmProperty.TypeUsage)#>.RecordComplexOriginalValues("<#=edmProperty.Name#>", this.<#=code.Escape(edmProperty)#>, ChangeTracker);
<#
        }
#>
    }

Wer die erste Zeile (String.Format) sieht, erkennt bestimmt die Anführungsstriche, die nicht entwertet sind und den Fehler verursachen. Wenn ich "{0}" mit '{0}' ersetze oder alternativ die Anführungsstriche entwerte und die Solution neu kompiliere sind diese Fehler verschwunden und die Entitäten werden fehlerfrei generiert, der Kontext jedoch nicht (79 Fehler). Das liegt daran, dass im Context-T4 Template das gleiche Problem lauert.

Ein Vorteil dieser T4 - Templates, es ist wirklich schnell korrigiert.

Das eigentliche Problem sitzt jedoch in den lokalisierten Ressourcen wie zum Beispiel $Localized_STECtx_Comment_630$, in diesen werden die Anführungsstriche nicht entwertet.

  •  
  • 0 Kommentar(e)
  •  

Mein Kommentar

Über jeden weiteren Kommentar in diesem Post benachrichtigen.

Zurück

Translate this page

Kategorien

  • [-].NET Development (215)
  • [-]Datenbank (26)
  • HTML (1)
  • Konfiguration (12)
  • Mind Map (10)
  • Off-topic (9)
  • Open Source (3)
  • Qualität (7)
  • Sharepoint (6)
  • Sicherheit (2)

Archiv

Social Bookmarking

Bookmark bei: Mr. Wong Bookmark bei: Webnews Bookmark bei: Icio Bookmark bei: Oneview Bookmark bei: Linkarena Bookmark bei: Favoriten Bookmark bei: Seekxl Bookmark bei: Favit Bookmark bei: Social Bookmarking Tool Bookmark bei: Power Oldie Bookmark bei: Bookmarks.cc Bookmark bei: Newskick Bookmark bei: Newsider Bookmark bei: Linksilo Bookmark bei: Readster Bookmark bei: Folkd Bookmark bei: Yigg Bookmark bei: Digg Bookmark bei: Del.icio.us Bookmark bei: Reddit Bookmark bei: Simpy Bookmark bei: StumbleUpon Bookmark bei: Slashdot Bookmark bei: Netscape Bookmark bei: Furl Bookmark bei: Yahoo Bookmark bei: Spurl Bookmark bei: Google Bookmark bei: Blinklist Bookmark bei: Blogmarks Bookmark bei: Diigo Bookmark bei: Technorati Bookmark bei: Newsvine Bookmark bei: Blinkbits Bookmark bei: Ma.Gnolia Bookmark bei: Smarking Bookmark bei: Netvouz Information