1

我使用 CS-Script 在运行时编译代码。我按照以下方式执行此操作,并在退出 ComipilingHistory 后阅读生成的错误和警告:

var eval = CSScript.Evaluator;
var assembly = eval.CompileCode(code);

if (CSScript.CompilingHistory.Any()) {
   foreach (var err in CSScript.CompilingHistory.Last().Value.Result.Errors.Cast<CompilerError>()) {
      this.AddValidationResult(err, codeFile);
   }
}

现在的问题是,我收到德语警告消息。但我需要英文的。我在使用德语的机器上工作。但是 Visual Studio 是用英文安装的,当我在 Visual Studio 中编译代码时,我会收到英文消息。

如何配置 CS-Script 也显示英文警告和错误?

编辑:我现在创建了一个小样本来重现我的问题:

System.Globalization.CultureInfo.DefaultThreadCurrentCulture = new System.Globalization.CultureInfo("en-US");
System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = new System.Globalization.CultureInfo("en-US");


Microsoft.CSharp.CSharpCodeProvider provider = new CSharpCodeProvider();
CompilerParameters compilerparams = new CompilerParameters();
compilerparams.GenerateInMemory = false;
CompilerResults results = provider.CompileAssemblyFromSource(compilerparams, "this generates errors");

现在,我的结果,有以下错误:

"Ein Namespace kann nicht direkt Member, wie z.B. Felder oder Methoden, enthalten."

我现在的问题是,这条消息是德语的。我应该是英文的。

4

0 回答 0