The CoreGenerateSatelliteAssemblies task first calls the WriteCodeFragment task to write a bunch of attributes to a .cs file, and then calls the Csc task to compile it (along with the .resource files, of course).
However, the call to WriteCodeFragment specifies the language of the code to generate using the $(Language) property, rather than always passing "C#". This means that in a VB project we'll end up generating VB code into a .cs file, which we then try to compile with csc.exe.
That isn't going to end well.