The XNA Framework only supports C#, at least if you want to run on Xbox or use the content pipeline.
Or does it?
It is true that our GSE IDE is only for C#. But content pipeline importers and processors are just regular managed assemblies, so you can build them using any .NET tool you like.
- Create an assembly using your language and IDE of choice.
- Add references to Microsoft.Xna.Framework.dll and Microsoft.Xna.Framework.Content.Pipeline.dll.
- Write your importer or processor code.
- Add this new assembly to the content pipeline assemblies list in your GSE project properties.
- Use the new processor to prepare content for your C# game code.
Probably the most interesting option here is C++/CLI. Through various forms of compiler and runtime magic, C++/CLI makes it trivially easy for managed code to call into native libraries and manipulate native objects. Comes in handy if you want to use existing native functionality to process your game content.
In fact, we took advantage of this ourselves. Our .X and .FBX importers are written with C++/CLI, so they can easily make use of the native D3DX library and FBX SDK.