Visual Studio 2008 - Generate Ressources funktioniert nicht richtig

22/07/2009 - 14:54 von Henry Habermacher | Report spam
Habe soeben von VS2005 auf VS2008 umgestellt, zum Glück noch nicht auf allen
Rechnern.

Wenn die die Resx Dateien erzeuge, macht VS2008 Mist. Es versucht scheinbar
Lücken bei den Namen zu füllen, wenn z.B. BoundFieldRessource3 noch nicht
benutzt wird, dann wird diese verwendet, auch wenn dannach bereits die ..4
benutzt wird. Soweit kein Problem.
Nun macht es mir aber folgendes: Wenn ich neue Controls in z.B. DetailViews
einfüge und dannach die Resx Dateien für die Übersetzung der Literale neu
erstelle, dann wird statt einer Lücke auch schon mal eine Ressource
benutzt, die noch woanders verwendet wird. Das gibt natürlich dann ein
richtige Durcheinander. Noch weiter ist es so, dass die TemplateHeader Texte
nicht in die Ressourcen eingetragen werden, sondern nur der Ressourcenname
selber, ohne den Text, der in der Oberflàche erfasst wird. Trage ich diesen
dann hàndisch ein, ist er solange drin, bis ich die REsourcendatei neu
erzeuge, dann sind diese Texte wieder weg. Ziemlich unangenehm das Ganze.

Hat jemand àhnliche Probleme (ich hab's auf 2 Maschinen mit VS2008) und hat
jemand dafür eine Umgehung gefunden? Ich werde wohl sonst auf VS2005
zurückgehen und auf die guten Features von 2008 verzichten müssen. Mir
zerschiesst es sonst alle (teuer) übersetzten Texte und ich muss diese in
stundenlanger Arbeit wieder nacherfassen und abgleichen, sowie alles neu in
allen 4 Sprachen durchtesten.

Gruss
Henry
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
23/07/2009 - 00:46 | Warnen spam
Hallo Henry,

vorweg: Zum eigentlichen Problem kann ich dir leider nichts sagen.

Ich gehe einfach mal davon aus, dass Du die üblichen Verdàchtigen
(Google [àh, natürlich Bing :], Connect, ... schon durch hast.

Daher bleibt mir eigentlich nur zu sagen, dass die Verwendung von
Resourcendatein in Webanwendungen IMHO nicht wirklich sinnvoll ist,
da u.a. Änderungen und Erweiterungen nur sehr unflexibel möglich
sind.

Eine (auch IMHO) bessere Variante wàre eine eigene Implementierung
was zwar beim ersten mal einiges an Arbeit bedeutet, danach aber
um einiges effizienter einzusetzen ist.

Ich persönlich verwende hier eine Kombination aus eigenen Controls
(Label, Panel, HyperLink, GridView, ...), welche in den relevanten
Properties bspw. durch $: bzw. $D: am Textanfang erkennen, dass ein
lokalisierter Text einzusetzen ist. Die Texte selbst kommen aus
einer Datenbank, welche über eine eigene Collection im Cache gehalten
werden.

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen