Note that there are some explanatory texts on larger screens.

plurals
  1. POMicrosoft Roslyn vs. CodeDom
    primarykey
    data
    text
    <p>From a <a href="http://www.infoworld.com/d/application-development/microsofts-roslyn-reinventing-the-compiler-we-know-it-176671" rel="noreferrer">press release</a> yesterday on InfoWorld regarding the new <a href="http://www.microsoft.com/download/en/details.aspx?id=27746" rel="noreferrer">Microsoft Roslyn</a>:</p> <blockquote> <p>The most obvious advantage of this kind of "deconstructed" compiler is that it allows the entire compile-execute process to be invoked from within .Net applications. Hejlsberg demonstrated a C# program that passed a few code snippets to the C# compiler as strings; the compiler returned the resulting IL assembly code as an object, which was then passed to the Common Language Runtime (CLR) for execution. Voilà! With Roslyn, C# gains a dynamic language's ability to generate and invoke code at runtime.</p> </blockquote> <p>I've been able to do this since the release of .NET 4 with <a href="http://msdn.microsoft.com/en-us/library/system.codedom.compiler.codedomprovider.compileassemblyfromsource.aspx" rel="noreferrer"><code>CSharpCodeProvider.CompileAssemblyFromSource</code></a> which I in fact use in an ASP.Net project written awhile ago that does exactly that - allows a user to type in code into a textbox, choose assemblies/namespaces to reference, and then execute and display the output from that code on-the-fly for live environment code testing on Windows Azure.</p> <p>Is <code>CodeDom</code> part of / a precurser to Roslyn? What's the special benefit of Roslyn over <code>CodeDom</code>?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload