You must have something already, but in case it somehow helps you even a little bit with making an 'offline' compiler, I wrote a simple function (wrapped in a console app for testing) that takes in a short[] and outputs text that can be easily cut and pasted into VS. It was fun for me to write, regardless.
using System; using System.Text; namespace ArrayOfShortsToText { class Program { public static string AOStoText(short[] aos, string name = "compiledCode") { string nl = Environment.NewLine; string result = @"private static readonly short[] " + name + "=unchecked(new[] {" + nl; int count = 0; foreach (short i in aos) { result += @"(short)0x" + i.ToString("X4"); count++; if (count < aos.Length) { result += ", "; if ((count % 5) == 0) { result += nl; } } } result += nl + @"});" + nl; return result; } static void Main(string[] args) { short[] compiledCode = unchecked(new[] { (short)0xB5F0, (short)0xB086, (short)0x9005, (short)0x9104, (short)0x9E13, (short)0x9603, (short)0x9E17, (short)0x9602, (short)0x2600, (short)0x9601, (short)0xE027, (short)0x9801, (short)0x1E40, (short)0x9E01, (short)0x4046, (short)0x9600, (short)0x9901, (short)0x2200, (short)0xE019, (short)0x9E00, (short)0x2701, (short)0x1C33, (short)0x403B, (short)0x2B00, (short)0xD00E, (short)0x2701, (short)0x1C0B, (short)0x403B, (short)0x9E02, (short)0x6874, (short)0xB44F, (short)0x9802, (short)0x0080, (short)0x9E08, (short)0x5830, (short)0x9903, (short)0xF000, (short)0xF815, (short)0x1C07, (short)0xBC4F, (short)0x9E00, (short)0x1076, (short)0x9600, (short)0x1049, (short)0x1C52, (short)0x9F05, (short)0x42BA, (short)0xDBE2, (short)0x9E01, (short)0x1C76, (short)0x9601, (short)0x9E01, (short)0x9F04, (short)0x42BE, (short)0xDBD3, (short)0xB006, (short)0xBCF0, (short)0xBC02, (short)0x4708, (short)0x4720 }); Console.WriteLine(); Console.Write(AOStoText(compiledCode, "TEST")); } } }