Длинные имена в .Net

Меня навели на эту тему. Вообще изначально, я придерживался точки зрения, что сходить в winapi и решить эту задачу не проблема, к тому же там же очень неплохо написано почему такая ситуация в .net. Часок подумав (краем сознания, занимаясь другим делом), меня стали терзать смутные сомнения. А может все таки язык (C# например) обязан это уметь? Иначе например как работать с длинными именами в кроссплатформенных приложениях?