Dynamic Language Runtime
Clone or download


Dynamic Language Runtime

The Dynamic Language Runtime enables language developers to more easily create dynamic languages for the .NET platform. In addition to being a pluggable back-end for dynamic language compilers, the DLR provides language interop for dynamic operations on objects. The DLR has common hosting APIs for using dynamic languages as libraries or for scripting in your .NET applications.

What? Where?
Windows/Linux/macOS Builds Build status
Downloads NuGet Release
Help Gitter chat StackExchange

Code of Conduct

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information see the .NET Foundation Code of Conduct.


The best way to install the DLR is through the NuGet DynamicLanguageRuntime package. For now you will need to enable prerelease packages, as there is no production NuGet release yet.


The best current documentation is in the Docs/ directory, in Word and PDF format (it was a Microsoft project, after all).


If you have any questions, open an issue, even if it's not an actual bug. The issues are an acceptable discussion forum as well.


The original DLR site is at http://dlr.codeplex.com. The DLR was part of a much larger repository containing IronPython and IronRuby as well; you can find it at https://github.com/IronLangauges/main/. This is a smaller repository containing just the DLR, which makes it easier to package and should make it easier to do more regular releases.


You will need to have Visual Studio 2017 installed on your machine.

On Windows machines, start a Visual Studio command prompt and type:

> make

On Unix machines, make sure Mono is installed and in the PATH, and type:

$ make

Since the main development is on Windows, Mono bugs may inadvertantly be introduced

  • please report them!