byte[] bytes = SoapHexBinary.Parse(str).Value
Обратите внимание, что здесь нет "компиляции" - это просто байты, которые являются exe ; как только вы вернете байты, они останутся теми же самыми исполняемыми файлами (если вы отправите файл GIF, это все равно будет тот же файл GIF и т. д. c). Если вы хотите это как файл: запишите байты в файловую систему.