C# 为什么';在运行upstart时没有文化信息吗?

C# 为什么';在运行upstart时没有文化信息吗?,c#,ubuntu,mono,upstart,C#,Ubuntu,Mono,Upstart,我有一个使用c#和mono构建的守护进程。当测试和运行守护进程并通过命令行启动时,线程区域性信息正确地填入“en-US”。然而,当通过UbuntuUpstart启动相同的进程时,线程区域性信息总是一个空字符串。这使得我的货币转换非常奇怪。有什么区别 我应该提到的是,我通过使用CultureInfo.CurrentCulture.Name获取区域性,并且只需在代码中将区域性设置为“en-US”,就可以解决问题。我或多或少都在试图理解为什么会发生这种行为。您能给出给出此问题的确切代码吗?您的意思是T

我有一个使用c#和mono构建的守护进程。当测试和运行守护进程并通过命令行启动时,线程区域性信息正确地填入“en-US”。然而,当通过UbuntuUpstart启动相同的进程时,线程区域性信息总是一个空字符串。这使得我的货币转换非常奇怪。有什么区别


我应该提到的是,我通过使用
CultureInfo.CurrentCulture.Name
获取区域性,并且只需在代码中将区域性设置为“en-US”,就可以解决问题。我或多或少都在试图理解为什么会发生这种行为。

您能给出给出此问题的确切代码吗?您的意思是
Thread.CurrentCulture.Name
?似乎需要在代码中手动设置区域性。您可以通过命令行传入区域性,并使用它。