4

Using The Roslyn C# Compiler

 2 years ago
source link: https://www.c-sharpcorner.com/article/using-the-roslyn-c-sharp-compiler/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Introduction

Today we will look at the Roslyn C# compiler and how to run it directly. We are so used to IDE environments that we rarely step back to think about what happens under the hood. When we compile a C# program in Visual Studio, it calls the C# compiler also known as Roslyn. Today we will write an application that targets .NET framework 5.0 and directly compile it using Roslyn and then run it from the command prompt. Hence, no Visual Studio today. So, let us begin.

Creating the Files

We are going to create a simple .NET 5 console application that prints the current time on the console. Create a folder for your files and add the below files.

DisplayText.cs

using System;
namespace AppRoslyn {
    public static class PrintOnConsole {
        public static void Show(string text) {
            Console.WriteLine(text);
        }
    }
}

Program.cs (Starting point of the application)

AppRoslyn.PrintOnConsole.Show($"Hello Word at {System.DateTime.Now.ToLongTimeString()}");

AppRoslyn.runtimeconfig.json

{
    "runtimeOptions": {
        "tfm": "net5.0",
        "framework": {
            "name": "Microsoft.NETCore.App",
            "version": "5.0.0-rc.1.20451.14"
        }
    }
}
JavaScript

We now have the required files. To compile these open the Developer Command Prompt and execute the following command,

dotnet "C:\Program Files\dotnet\sdk\5.0.100-rc.1.20452.10\Roslyn\bincore\csc.dll" -r:"C:\Program Files\dotnet\shared\Microsoft.NETCore.App\5.0.0-rc.1.20451.14\System.Private.CoreLib.dll" -r:"C:\Program Files\dotnet\shared\Microsoft.NETCore.App\5.0.0-rc.1.20451.14\System.Console.dll" -r:"C:\Program Files\dotnet\shared\Microsoft.NETCore.App\5.0.0-rc.1.20451.14\System.Runtime.dll" *.cs -out:AppRoslyn.dll
BASIC

Here we see that we are compiling our C# files using the Roslyn compiler in the .NET 5 folder. We add the references and specify the output file name which is “AppRoslyn.dll” in this case.

We can now run the application as below,

Using The Roslyn C# Compiler

Summary

In this article, we looked at creating a console application and running it directly using the C# compiler Roslyn without the use of Visual Studio or another IDE. This might not be a normal practice in our everyday work, but it is always good to understand how things work under the hood. Happy coding!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK