2013-07-30 30 views
14

Ho il mio file di risorse predefinito Resources.resx per il quale lo studio visivo genera in modo corretto una classe designer.cs, ma quando provo a creare Resources.de-DE.resx, non viene generato.Codice file risorse non generato

Ho controllato tutte le proprietà per entrambi i file sono uguali.

Genera per Resources1.resx, ma non per Resources.de-DE.resx o Resources.en-US.resx.

+0

designer.cs * non è * creato da resx, è stato creato da visual studio insieme al file di classe per la finestra di dialogo (controllo utente). Cosa stai cercando di realizzare? Quando il programma viene eseguito, cercherà la stringa corretta nella resx locale, se fallisce, apparirà nel resx predefinito – Sayse

+2

Ho lo stesso problema. Se creo il file Resources.resx, il codice in Resources.Designer.resx viene generato. Ma, se rinominare il file del primo file su Resources.en.resx, non lo fa. –

risposta

9

ciao @TRS si può essere confusi su che c'è un Designer.cs presente Per Resources.resx e ci dovrebbe essere someDesigner.cs per Resources.de-DE.resx ma questo è non è il caso perché il file di progettazione sarebbe lo stesso per tutti i file di risorse. e anche la proprietà creata in Designer.cs è anche comune che significa che utilizzerai questa proprietà per ogni conversione, quindi la differenza che puoi fare è sulla base di ResourceCulture.

+0

Questo mi ha aiutato a scoprire perché non avevo una classe di risorse quando non fornivo un file di risorse predefinito. –

0

Sì, il file resx del Designer rimane vuoto. dovresti seguire i passaggi seguenti, funzionerà al 100%. 1) Creare il file Resource.resx sotto qualsiasi cartella

2) impostare CustomTools = PublicResXFileCodeGenerator e Corporatura Action = Risorsa incorporata in Resource.resx proprietà del file.

3) Ora create le diverse file di lingua, come qui di seguito, Resources.en-US.resx Resources.nl-NL.resx ecc

4) Se MVC, nel MVC modello si riferisce questo spazio dei nomi come progetto .folder

5) modificare quello della proprietà come qui sotto (esempio)

[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) ricostruire il progetto e testarlo.

Funzionerà. La vera ragione per cui il file designer.cs è vuoto è resource designer.cs farà riferimento a questi file in base al file web.config.

Problemi correlati