Ассемблерные вставки в C# нельзя.
Можно использовать встроенный интерпретатор другого языка (как в упомянутом NLua)
Можно импортировать код, который написан на другом языке для .NET-платформы (На F# например или на голом IL)
Можно вызывать код из сишных библиотек (не только сишных. Главное чтобы был extern "C" или аналог), используя DLLImport.
Можно запустить программу, написанную на другом языке, в новом процессе. При помощи Process.Start
Можно использовать любую вариацию IPC