Domanda

Ho un Net 3.5 domanda scritta per lo più in C # che utilizza RESX file per memorizzare i dati di internazionalizzazione per diverse lingue, costituito da stringhe, le dimensioni di controllo e le posizioni, ecc Quello che sto cercando di capire è questo: è possibile compilare la mia applicazione in modo tale che i dati della cultura di default sarà tirato fuori in un satellite di montaggio più o meno allo stesso modo in cui gli altri dati di cultura?

Sto cercando di prevenire situazioni in cui l'utente utilizza il software in un unico (non predefinita) la lingua, rimuove la cartella cultura nella directory bin, e poi ha accesso alla lingua predefinita .

Se questo è impraticabile o impossibile a causa di limitazioni quadro, è possibile forse di compilazione in una lingua diversa da quella predefinita , in modo che io possa dare un'unica versione, non predefinita dell'applicazione per l'utente?

Grazie mille per le vostre risposte.

È stato utile?

Soluzione

Ho fatto qualcosa di simile a pochi giorni fa, perché ho bisogno di tutte le assemblee della mia app per avere accesso alle stesse risorse. Hai solo bisogno di creare un assembly separato che contiene le risorse, e fare riferimento a esso dalle assemblee del vostro app. Si noti che se si fa questo, la risorsa assemblea non sarà un Satellite di montaggio:. Si willbe esplicitamente riferimento da altri assembly, e l'applicazione non si avvia affatto se non è presente

Si noti inoltre che per default le classi risorse generate da Visual Studio sono interni. Per renderle pubbliche, è necessario sostituire il ResxFileCodeGenerator strumento personalizzato con PublicResxFileCodeGenerator.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top