避免resx文件中的合并冲突

the*_*lem 10 c# resx

在我们的C#MVC项目中,我们将可本地化的字符串存储在.resx文件中.每次我们添加一个新字符串时,Visual Studio都将它放在文件的底部,这意味着如果在不同的分支中添加两个字符串,那么我们将得到合并冲突,因为两个不同的代码块被添加到同一个地点.

我们如何减少合并冲突?按字母顺序排序字符串可能有所帮助,但我看不到如何执行此操作.或者我们可以告诉git将每个<data>...</data>标记视为一个独立的块?

我们目前正在使用git,但TFS/TFVC遇到了同样的问题.

the*_*lem 8

我们找到了ResXManager Visual Studio扩展,可以在保存时对ResX文件进行排序.

在Visual Studio中,选择"工具">"扩展和更新".单击左侧面板中的"在线",然后在右上角的框中搜索"ResXManager"并进行安装.

ResXManager安装对话框

安装完成后,选择Tools> ResXManager,转到底部的Configuration选项卡,启用"保存RESX文件时,按键对XML数据节点排序".

还有一个"现在排序所有文件"的按钮.对文件进行排序会产生大量冲突,因此请谨慎选择发布周期中的时间以最大限度地减少这些冲突.所有开发人员都需要安装ResXManager,但该设置将应用于解决方案,因此他们无需自行更改.

ResXManager配置屏幕

我们刚刚开始使用它.当我们有一些经验时,我会更新这个答案.

  • 它运作良好.我们有时会在文件末尾添加新条目,然后几天后,处理不相关票证的其他人将保存相同的文件,并按字母顺序排序.我们再也没有得到resx合并冲突了. (2认同)