Visual studio 2015 如何强制Visual Studio或T4MVC使用英语语言环境而不是系统范围的语言环境?

Visual studio 2015 如何强制Visual Studio或T4MVC使用英语语言环境而不是系统范围的语言环境?,visual-studio-2015,tfs,locale,development-environment,t4mvc,Visual Studio 2015,Tfs,Locale,Development Environment,T4mvc,情况: 我们开发团队的一些成员使用捷克的Windows,一些(包括我)使用英语操作系统 问题是当我们使用T4MVC模板自动生成一些代码时。它的工作方式是,该工具输出按字典顺序排序的生成成员(这当然很好),但由于捷克语和英语之间的字母顺序存在差异,因此在与TFS源代码管理同步时,我们会不断更改顺序 区别在于英文中没有字母CH(这很好),但是捷克的爸爸想要这个字母,所以我们有它,它在H之后 所以,英文顺序A-B-C-D-E-F-G-H-I。。。在捷克是这样的:A-B-C-D-E-F-G-H-CH-I

情况: 我们开发团队的一些成员使用捷克的Windows,一些(包括我)使用英语操作系统

问题是当我们使用T4MVC模板自动生成一些代码时。它的工作方式是,该工具输出按字典顺序排序的生成成员(这当然很好),但由于捷克语和英语之间的字母顺序存在差异,因此在与TFS源代码管理同步时,我们会不断更改顺序

区别在于英文中没有字母CH(这很好),但是捷克的爸爸想要这个字母,所以我们有它,它在H之后

所以,英文顺序A-B-C-D-E-F-G-H-I。。。在捷克是这样的:A-B-C-D-E-F-G-H-CH-I

因此,在生成的代码中会出现如下差异:

public class _ViewNamesClass
{
    public readonly string _CommonGrid = "_CommonGrid";
    public readonly string _CommonChart = "_CommonChart";
    public readonly string _CommonStat = "_CommonStat";
    public readonly string _CommonView = "_CommonView";
}
与之相反:

public class _ViewNamesClass
{
    public readonly string _CommonChart = "_CommonChart";
    public readonly string _CommonGrid = "_CommonGrid";
    public readonly string _CommonStat = "_CommonStat";
    public readonly string _CommonView = "_CommonView";
}
所以我的问题是:如何让T4MVC或更好的整个VisualStudio使用英语语言环境。IDE对每个人来说都是英文的,所以这种捷克语排序没有任何意义

我们正在使用Visual Studio 2015


T4MVC是这样的:

我想我们可以在T4MVC.tt中解决这个问题。尝试在第1034行进行以下更改。更改:

foreach (var viewPair in viewsFolder.Views)


如果这样做有效,我们可以在主模板中进行更改。请打开问题进行跟踪。

是的,它可以完成这项工作,但在更多的地方可以看到类似的foreach循环,例如,在您提到的循环下方有9行。当我开始编辑这个模板时,我害怕破坏一些东西,因为我对它的语法一无所知。当我在GitHub上打开这个问题时,你们会只做一行替换,还是修改整个模板并在适当的时候进行调整?大多数T4MVC更改都是由用户驱动的。尽你最大的努力找到所有重要的地点并发送一封电子邮件,但我不会这么做。我不知道它是用什么语言写的,所以我不能做这样的调整。我能做的最多的就是像你在回答中提到的那样提出一个问题。是的,从这个问题开始,列举所有你看到这个问题的案例。
foreach (var viewPair in viewsFolder.Views.OrderBy(pair => pair.Key, StringComparer.OrdinalIgnoreCase))