Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
The Microsoft Shared Source CLI Implementation Refresh
Abortable Thread Pool
The Analytic Hierarchy Process
API Test Automation in .NET
Asynchronous HttpWebRequests, Interface Implementation, and More
Bad Code? FxCop to the Rescue
Basics of .NET Internationalization
Behind the Scenes: Discover the Design Patterns You're Already Using in the .NET Framework
BigInteger, GetFiles, and More
Binary Serialization of DataSets
Building Voice User Interfaces
Can't Commit?: Volatile Resource Managers in .NET Bring Transactions to the Common Type
CLR Inside Out: Base Class Library Performance Tips and Tricks
CLR Inside Out: Ensuring .NET Framework 2.0 Compatibility
CLR Inside Out: Extending System.Diagnostics
CLR Profiler: No Code Can Hide from the Profiling API in the .NET Framework 2.0
Concurrent Affairs: Build a Richer Thread Synchronization Lock
Custom Cultures: Extend Your Code's Global Reach With New Features In The .NET Framework 2.0
Cutting Edge: Collections and Data Binding
Const in C#, Exception Filters, IWin32Window, and More
Creating a Custom Metrics Tool
DataSets vs. Collections
Determining .NET Assembly and Method References
Experimenting with F#
File Copy Progress, Custom Thread Pools
Finalizers, Assembly Names, MethodInfo, and More
Got Directory Services?: New Ways to Manage Active Directory using the .NET Framework 2.0
High Availability: Keep Your Code Running with the Reliability Features of the .NET Framework
How Microsoft Uses Reflection
ICustomTypeDescriptor, Part 2
ICustomTypeDescriptor, Part 1
Iterating NTFS Streams
JIT and Run: Drill Into .NET Framework Internals to See How the CLR Creates Runtime Objects
Lightweight UI Test Automation with .NET
Low-Level UI Test Automation
Make Your Apps Fly with the New Enterprise Performance Tool
Managed Spy: Deliver The Power Of Spy++ To Windows Forms With Our New Tool
Memory Models: Understand the Impact of Low-Lock Techniques in Multithreaded Apps
Microsoft Java Virtual Machine Update
Microsoft .NET Framework Delivers the Platform for an Integrated, Service-Oriented Web, Part 2
Mini Dump Snapshots and the New SOS
Mutant Power: Create A Simple Mutation Testing System With The .NET Framework
NamedGZipStream, Covariance and Contravariance
.NET Internationalization Utilities
.NET Profiling: Write Profilers With Ease Using High-Level Wrapper Classes
No More Hangs: Advanced Techniques To Avoid And Detect Deadlocks In .NET Apps
The Perfect Host: Create and Host Custom Designers with the .NET Framework 2.0
Phoenix Rising
Scheme Is Love
Security Enhancements in the .NET Framework 2.0
Sepia Tone, StringLogicalComparer, and More
Software Testing Paradoxes
Stay Alert: Use Managed Code To Generate A Secure Audit Trail
Stream Decorator, Single-Instance Apps
StringStream, Methods with Timeouts
Tailor Your Application by Building a Custom Forms Designer with .NET
Test Harness Design Patterns
ThreadPoolPriority, and MethodImplAttribute
ThreadPoolWait and HandleLeakTracker
Three Vital FXCop Rules
A Tidal Wave of Change
To Confirm is Useless, to Undo Divine
Touch All the Bases: Give Your .NET App Brains and Brawn with the Intelligence of Neural Networks
Transactions for Memory
Trustworthy Software
Tune in to Channel 9
UDP Delivers: Take Total Control Of Your Networking With .NET and UDP
UI on the Fly: Use the .NET Framework to Generate and Execute Custom Controls at Run Time
Unexpected Errors in Managed Applications
Unhandled Exceptions and Tracing in the .NET Framework 2.0
Using Combinations to Improve Your Software Test Case Generation
Wandering Code: Write Mobile Agents In .NET To Roam And Interact On Your Network
What Makes Good Code Good?
XML Comments, Late-bound COM, and More
Collapse the table of content
Expand the table of content

The Microsoft Shared Source CLI Implementation Refresh


Stephen R. Walli
Microsoft Corporation

June 2002

Applies to:
   Microsoft® .NET Framework
   Microsoft® Windows® XP
   Microsoft® JScript®

Summary: The refreshed Microsoft Shared Source CLI Implementation source archive unpacks and builds on both the Microsoft Windows XP and FreeBSD operating systems and provides improvements to the Rotor experience, including better debugging, documentation and samples, build environment and tools enhancements, and bug fixes. (3 printed pages)

Download the Shared Source CLI (sscli_20020619.tgz) from the MSDN Download Center.

Download the Shared Source CLI Implementation source code from the MSDN CD.

The team delivering the Microsoft® Shared Source CLI implementation has just released a refresh of the beta code base on MSDN.

On March 26, 2002 at a conference in Cambridge, England, Microsoft released the source code to a complete working implementation of the ECMA C# and Common Language Infrastructure (CLI) standards. These standards specify the core of the Microsoft .NET Framework. At this event, Microsoft also issued a research request for proposal. Since then, more than 30,000 people have downloaded the shared source CLI (code-named "Rotor") and a lively community has developed around the code base. (You can find links to the discussion groups on the download page listed above). In addition, we received more than 100 requests for proposal and accepted more than 30 of them. The Microsoft Research group in Cambridge, UK is facilitating this work, and will be hosting a workshop this summer to bring together the various Rotor projects to share information.

Like the previous source archive, the refreshed source archive unpacks and builds on both the Microsoft Windows XP and FreeBSD operating systems. This refresh also provides lots of extras to improve the Rotor experience. There are changes in more than 500 files, as well as another 1000 new files in the archive bringing the archive total to 8722 files. (This doesn't include all the extra class reference documentation in a separate archive.)

The changes to this source archive refresh fall into four broad categories:

  • Debugger improvements
  • Improved documentation and samples
  • Enhancements to the build environment and tools
  • General clean-up and bug fixing

Several things have been improved on the debugging front. The managed debugger (cordbg) now works on FreeBSD (and is improved on Windows XP as well). The SOS command plug-in for gdb that allows class and stack structures to be dumped now takes case-insensitive commands. A new tool (ildbdump) that dumps Rotor .ildb files has been added to the tool chain (clr/src/tools/ildbdump). Microsoft JScript support to emit symbolid debug information has been added.

Several new samples have been added to the samples directory. Look for the xsd schema conversion tool sample and the dnprofiler managed profiler sample in the samples directory.

A big change happened in the documentation space. Along with new documents matching the changes, this source refresh delivers class reference documentation as part of the distribution. This documentation set is large enough that it has been added in its own compressed archive for separate download.

One of the strengths of the Shared Source CLI is its build and test infrastructure. The Beta refresh includes a number of improvements in the build system:

  • The build tool (build.exe) parsing of csc.exe and gcc's output has been improved so the build*.err log file is more informative about errors.
  • Two new tools, permview and genpalunitable, are now available. (These are SDK tools. The genpalunitable tool is used to generate part of the Unicode support for the FreeBSD Platform Adaptation Layer. The output from this tool was shipped in the March beta release, but the tool itself is now shipped in this refresh.)
  • The test suite driver rrun.pl now conforms to the different types of build environments (checked, fast checked, free) and test executables are built into appropriately named directory hierarchies as well as the test logs.
  • A considerable number of new test cases have been added to the test suites.

Finally, a lot of code clean-up and bug fixing has gone on in this release. The JIT has been re-factored and builds much faster. Code pitching in the JIT has also been improved. Bugs across the entire code base including cordbg, the base class library and frameworks, the FreeBSD PAL, execution engine, JIT, and so on, have been fixed.

We continue our commitment to our growing community with this refresh of the Shared Source CLI implementation and we are very excited on the Rotor team to watch the community develop and the source base evolve in new directions. I encourage you to download the latest Shared Source CLI archive and explore the possibilities it presents to experiment with and learn about the internals of the Common Language Infrastructure. Happy hacking!

You can read more about the Microsoft Shared Source CLI in MSDN Magazine.

© 2015 Microsoft