Like said above, you can produce native apps with c++.
c# and vb.net require the clr. So you're stuck with .NET, Mono, or possibly Portable.NET/DotGNU.( Though, afaik dotgnu seems to be way behind .net and mono. )
Mono is nice. A long ways back I used it to run a test app on a machine without .net. Just took some trial n error, by manually copying the mono files into my apps directory( as it would complain about such n such files missing ). All zipped up I think everything came to under 5mb.
Theres other options like embedding mono in a native program, or the supposed makebundle tool. Unfortunately I couldn't get makebundle to work... must be my lack of linux experience *shrugs*.
If you've got the cash, theres the salamander product that builds standalone exe's/dll's.
http://www.remotesoft.com/linker/pricing.html