1

在 WPF 应用程序(.NET Framework 4.5.2)中,我使用 IValueConverter 从 2 个字母的区域代码中获取 RegionInfo:

public object Convert(object value, Type targetType, object parameter, CultureInfo culture) {

 if (value != null) { // 
  // we use local list of regions (due to perfomance issue : new RegionInfo() )
  //
  var key = value.ToString();
  if (regionsName.ContainsKey(key)) return regionsName[key];

  regionsName.Add(key, new RegionInfo(value.ToString()).DisplayName);
  return regionsName[key];
 }

 return null;
}        

这几乎在任何地方都很有效。现在一位客户遇到了异常:

TypeString:System.ArgumentException,mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089 消息:不支持文化名称“MU”。参数名称:名称

当我使用 value="MU" 在本地调用 Convert-Method 时,我得到 'Mauritius' 作为相应的 DisplayName(来自 RegionInfo)。所以“MU”似乎是一个有效的区域代码。

那么为什么这个代码在客户端机器上是未知的呢?我该如何解决这个问题?

4

0 回答 0