You may not know what Script# (Script Sharp) is, but you probably have seen (or even worked with) ASP.NET AJAX Client side JavaScript library, and/or ASP.NET MVC library, they’re all generated by this little tool!

If you open an ASP.NET MVC project, and scroll down to the end of MicrosoftMvcAjax.debug.js, you can see the evidence, which says the author and version (which is currently in 0.5.0.0) information. This is just one example which you can easily see how Script# is becoming widely used.

Rather than being used for internal websites like Windows Live, MSN.com and Office Live. it’s also used in a lot of websites, such as Englishtown.com as well (Englishtown is using a combination of Script# and Google Gears to implement offline study experience for students, and I’m one of the developers Smile).

In my perspective, the biggest Pros it gives me include:

  • Readability
  • Great IDE support, along with Intellisense and TFS integration
  • Built-in support of Namespace, class, interface, inheritance, etc.
  • Type safety (which I think is a double edge sword though)
  • Code analysis (by FxCop)

And the Cons that we can’t avoid:

  • Not open source
  • Bad (~0) support, and very little documentation
  • VERY slow progress
  • Support of function (anonymous method) with non-fixed parameters

 

What I’m so glad to see is that it now supports jQuery by default, and implement unit testing based on QUnit. Another big change is that it now merges sscorlib.dll (the original core runtime) and aacorlib into mscorlib.dll, which means that we probably need to update the file name.

 

Check it!