Visual Studio 2010 überschreibt ohne Warnung Codedateien
Der Bug in Visual Studio kann unangenehm werden: Die Codegenerierungsvorlagen im Designer des ADO.NET Entity Framework überschreiben gleichnamige Dateien des Entwicklers.
Bei meinem Entity Framework-Workshop heute auf der BASTA-On-Tour bin ich auf einen durchaus gravierenden Fehler in Visual Studio gestoßen, der bestehende Codedateien ohne Warnung überschreibt.
Im "ADO.NET Entity Framework"-Designer in Visual Studio 2010 kann man auf dem T4-Format basierende Codegenerierungsvorlagen („Add Code Generation Item“) wählen. Dadurch werden dem Projekt eine oder mehrere T4-Dateien (.tt) hinzugefügt, die jeweils eine oder mehrere Programmcodedateien generieren. Die Namen der Programmcodedateien orientieren sich zum Beispiel für die Vorlagen "POCO" und "Self-Tracking Entities" an den im Modell vorhandenen Entitäten. Wenn nun eine Entität (beispielsweise Person) genauso heißt wie eine bereits in dem gleichen Projekt auf der gleichen Ordnerebene vorhandene Codedatei (etwa Person.cs), dann überschreibt die T4-Vorlagenauswertung die vorhandene Person.cs, ohne den Benutzer zu warnen. Auch ein Rückgängigmachen ist dann nicht mehr möglich!
Die nachfolgenden Bildschirmabbildungen zeigen das Problem.
( [1])
URL dieses Artikels:
https://www.heise.de/-999842
Links in diesem Artikel:
[1] mailto:hs@ix.de
Copyright © 2010 Heise Medien