在.NET应用程序下,立陶宛货币符号仍显示为LT

在.NET应用程序下,立陶宛货币符号仍显示为LT,.net,vb.net,internationalization,.net-3.5,.net,Vb.net,Internationalization,.net 3.5,My.NET 3.5应用程序在立陶宛不使用欧元,但在格式化货币时仍显示以前的LT符号。运行以下代码时: Dim ci As New CultureInfo("lt-LT", False) Dim amount As Decimal = 123.56 Label1.Text = amount.ToString("c", ci) 我得到以下结果:123,56 Lt 我应该得到:123,56欧元 我有几台电脑就是这样工作的。所有设备都安装了KB3006137,该设备应将Lt更改为€。奇怪的是,Win

My.NET 3.5应用程序在立陶宛不使用欧元,但在格式化货币时仍显示以前的LT符号。运行以下代码时:

Dim ci As New CultureInfo("lt-LT", False)
Dim amount As Decimal = 123.56
Label1.Text = amount.ToString("c", ci)
我得到以下结果:123,56 Lt

我应该得到:123,56欧元

我有几台电脑就是这样工作的。所有设备都安装了KB3006137,该设备应将Lt更改为€。奇怪的是,Windows中的区域格式对话框显示€,所以我知道KB3006137已经生效。然而,.NET应用程序似乎并没有意识到这一变化,并继续使用以前的Lt


我尝试过卸载和重新安装KB3006137,但结果是一样的。即使在Windows 10上,一些计算机显示欧元,另一些显示Lt。对这里发生的事情有什么想法吗?.NET是否可能缓存Lt而不是检索€?

这是什么版本的Windows?您的区域控制面板是如何设置的?你的程序运行在哪个用户帐户下?我认为.net维护着一个单独的文化信息列表。您可以尝试使用
CultureAndRegionInfoBuilder
Dai构建自己的应用程序:我已经在运行Windows7、8.1和10的多台计算机上复制了这一点。这个简单的测试应用程序已经在管理员和标准用户帐户下运行,有无UAC。丹尼尔:谢谢你的建议。我认为.NET没有单独的列表,因为您可以更改Windows区域的设置,这将反映在.NET应用程序中。