Это изменилось между .NET 3.5SP1 и .NET 4.0. .NET 3.5 производит MMMM d, yyyy, так же, как задокументированное значение Vista NLS.
.NET 4.0 производит MMMM-dd-yy. То же, что я получаю, когда использую GetLocaleInfo () в Win7 с:
wchar_t buf[256];
GetLocaleInfo(0x1009, LOCALE_SLONGDATE, buf, 256);
Я думаю, что .NET 4.0 теперь использует информацию о локали Windows, а не полагается на свои собственные таблицы. Тем не менее, ничего не меняется так быстро, как данные культуры. Если вы считаете, что это неверно, вы можете оставить отзыв на connect.microsoft.com