2014-06-23 11 views
7

Nel nostro progetto C# MVC stiamo memorizzando le nostre stringhe localizzabili nei file .resx. Ogni volta che aggiungiamo una nuova stringa, Visual Studio la colloca nella parte inferiore del file, il che significa che se due stringhe vengono aggiunte in rami diversi, otterremo un conflitto di unione, poiché due blocchi di codice diversi vengono aggiunti allo stesso posto.Evitare conflitti di unione nei file resx

Come possiamo ridurre i conflitti di unione? Ordinare le stringhe in ordine alfabetico potrebbe aiutare, ma non riesco a vedere come farlo. O forse potremmo dire a Git di trattare ogni tag <data>...</data> come blocco indipendente?

Attualmente stiamo usando git, ma ha avuto lo stesso problema con TFS/TFVC.

+2

Non dovrebbe essere così difficile scrivere uno script che ordina la resx e viene chiamato prima di ogni commit. – Adrian

+1

Questo è probabilmente di aiuto: http://stackoverflow.com/questions/22976757/tortoisegit-winforms-resolving-resource-resx-when-merging – ALOToverflow

risposta

2

Abbiamo trovato l'estensione di Visual Studio ResXManager che può ordinare i file ResX al salvataggio.

In Visual Studio selezionare Strumenti> Estensioni e aggiornamenti. Fare clic su Online nel pannello di sinistra, quindi cercare "ResXManager" nella casella in alto a destra e installarlo.

ResXManager install dialog

Una volta installato, selezionare Strumenti> ResXManager, passare alla scheda di configurazione in basso e abilitare l'opzione "Quando si salva un file RESX, ordinare i nodi di dati XML per la chiave".

C'è anche un pulsante per "Ordina tutti i file ora". L'ordinamento dei file creerà molti conflitti, quindi scegli attentamente un periodo nel ciclo di rilascio per ridurre al minimo questi conflitti. Tutti gli sviluppatori dovranno avere ResXManager installato, ma l'impostazione viene applicata alla soluzione in modo che non sia necessario cambiarla autonomamente.

ResXManager configuration screen

Abbiamo appena iniziare a utilizzare questo. Aggiornerò questa risposta quando avremo un po 'di esperienza con esso.