Я использую 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."
Теперь моя проблема в том, что это сообщение на немецком языке. Я должен это получить на английском языке.