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

How to force Visual Studio or T4MVC to use English locale instead of system-wide one?

情况: 我们开发团队的一些成员使用捷克语 Windows,一些(包括我在内)使用英语 OS.

问题出在我们使用 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 或更好的整个 Visual Studio 以使用英语语言环境。 IDE 对每个人来说都是英语,所以这种捷克语排序没有任何意义。

我们使用的是 Visual Studio 2015.

T4MVC 是这样的:https://github.com/T4MVC/T4MVC

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

foreach (var viewPair in viewsFolder.Views)

foreach (var viewPair in viewsFolder.Views.OrderBy(pair => pair.Key, StringComparer.OrdinalIgnoreCase))

如果可行,我们可以在主模板中进行更改。请在 https://github.com/T4MVC/T4MVC 上打开问题进行跟踪。