2013-07-30 9 views
14

Ich habe meine Standardressourcendatei Resources.resx, für die Visual Studio eine Klasse designer.cs schön generiert, aber wenn ich versuche, Resources.de-DE.resx zu erstellen, wird es nicht generiert.Ressourcendateicode nicht generiert

Ich überprüft alle Eigenschaften für beide Dateien sind gleich.

Erzeugt für Resources1.resx, aber nicht für Resources.de-DE.resx oder Resources.en-US.resx.

+0

designer.cs * wird nicht vom resx erstellt, sondern von Visual Studio zusammen mit der Klassendatei für den Dialog (Benutzersteuerung) erstellt. Was versuchst du zu erreichen? Wenn das Programm läuft, wird es nach der richtigen Zeichenfolge in der lokalen resx suchen, wenn es fehlschlägt, wird es in der Standard-resx – Sayse

+2

Ich habe ein gleiches Problem. Wenn ich die Resources.resx erstelle, wird der Code in Resources.Designer.resx generiert. Aber, wenn Datei erste Datei in Resources.en.resx umbenennen, tut es nicht. –

Antwort

9

hallo @TRS Sie verwirrt sein kann, etwa, dass es eine Designer.cs ist vorhanden Für Resources.resx und es sollte someDesigner.cs für Resources.de-DE.resx sein, aber dies ist Dies ist nicht der Fall, da die Designerdatei für alle Ressourcendateien gleich ist. und auch die Eigenschaft, die in Designer.cs erstellt wird, ist auch üblich, das heißt, Sie werden diese Eigenschaft für jede Konvertierung verwenden, so dass der Unterschied, den Sie machen können, auf der Grundlage von ResourceCulture ist.

+0

Dies half mir herauszufinden, warum ich keine Ressourcenklasse hatte, als ich keine Standard-Ressourcendatei zur Verfügung stellte. –

0

Ja, Designer ResX-Datei bleibt leer. Sie sollten die folgenden Schritte befolgen, es wird 100% funktionieren. 1) Erstellen Sie Resource.resx Datei unter einem beliebigen Ordner

2) gesetzt CustomTools = PublicResXFileCodeGenerator und Build Action = Eingebettete Ressource in Resource.resx Eigenschaft Datei.

3) Nun, die verschiedenen Sprachdateien wie unten erstellen, Resources.en-US.resx Resources.nl-NL.resx etc

4) Wenn MVC, diesen Namensraum als Projekt in Ihrem MVC Modell beziehen .folder

5) die eine der Eigenschaft ändern, wie weiter unten (Beispiel)

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MMM/yyyy}"), Display(Name = "dtMovinDate",ResourceType = typeof(Resources.Resource))] 
      public DateTime dtMovinDate { get; set; } 

6)

In config file add this under System.web 

    <globalization enableClientBasedCulture="true" culture="en-US" uiCulture="en-US" /> 

7) das Projekt neu erstellen und testen.

Es wird funktionieren. Der eigentliche Grund für die leere Datei designer.cs ist Resource Designer.cs verweist diese Dateien basierend auf Ihrer Datei web.config.

Verwandte Themen