C# 从Roslyn编译中获取特定于区域性的错误

C# 从Roslyn编译中获取特定于区域性的错误,c#,roslyn,codedom,runtime-compilation,C#,Roslyn,Codedom,Runtime Compilation,我试图使用Roslyn EmitApi编译一些语法不正确的代码。编译代码的线程将区域性设置为“fr” 但是我从Roslyn api获得的诊断信息是英文的。 e、 g 错误BC30037:字符无效 我想知道是否有办法在特定于线程的区域性中获取错误消息。 codeDom也是如此。这可能不是一个可行的答案,但我还是会发布它,以防感兴趣 Roslyn编译器是开源的,因此可以对其进行修改,通过这种方式,可以将错误消息从英语更改为法语或其他任何形式。请注意,Roslyn是一个庞大的项目,重建它并不那么容易,

我试图使用Roslyn EmitApi编译一些语法不正确的代码。编译代码的线程将区域性设置为“fr” 但是我从Roslyn api获得的诊断信息是英文的。 e、 g

错误BC30037:字符无效

我想知道是否有办法在特定于线程的区域性中获取错误消息。
codeDom也是如此。

这可能不是一个可行的答案,但我还是会发布它,以防感兴趣

Roslyn编译器是开源的,因此可以对其进行修改,通过这种方式,可以将错误消息从英语更改为法语或其他任何形式。请注意,Roslyn是一个庞大的项目,重建它并不那么容易,至少以我的经验来看是如此

我写了几篇关于我修改Roslyn的经历的博客文章。我最近的修改包括添加一条新的错误消息——这就是我偶然发现这个问题的原因


甚至可以通过向项目中添加一个额外的
csharpsources.fr-fr.resx
文件,并让
ResourceManager
自动选择正确的.resx文件,使Roslyn成为多语言的。这肯定适用于.Net Framework WinForms项目,但我不知道此功能是否已保留在新的.Net标准格式中。

能否提供一个您正在使用的代码的小示例?给出了错误号,听起来您使用的是VB编译器而不是C#。(更重要的是,如果我们有一个可以尝试的例子,如果我们认为我们有一个解决方案,我们会更有信心。)