JSIL is a compiler that converts .NET applications and libraries from CIL bytecode into standards-compliant JavaScript, which can run in any modern browser or JavaScript runtime. Unlike other JavaScript cross-compilers, JSIL generates JavaScript that is easy to debug while preserving the original .NET code's behavior and structure. Supporting most .NET-based languages, it works seamlessly with C# and VB.NET, with partial support for F#. The compiler handles nearly all .NET runtime features, including pointers and P/Invoke, and can translate most of the open-source Base Class Library (BCL).
Official website: http://jsil.org/