C# 使用 csc.exe 实现命令行生成

 

概述

CSC是什么呢?CSC就是 C-Sharp Compiler (中文就是C#编译器),作用是把我们的 cs 源文件变异成dll 或者是exe ,    一般安装完VS 后,就会有这个文件; 

这里有个图解释一下

 

 

C# 使用 csc.exe 实现命令行生成

 

 

 

 

因为我装的 VS 2019 ,我本机的 csc.exe 的目录在 C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\Roslyn ,大家如果装的有其他的版本的话,可以搜索一下就找的到了。

使用

安装完 VS后,可以在开始菜单中找到 VS 的命令行工具

C# 使用 csc.exe 实现命令行生成

 

 

 

第二个和第三个 分别是 cmd 模式和 PowerShell 模式 随便打开一个即可,然后在命令行内 输入 csc ,如果是出来下面的内容,说明这一步已经没有问题了

 

C# 使用 csc.exe 实现命令行生成

 

 

 

  编译源文件

 我在 D盘下 新建一个记事本文件,输入一下内容,并改名为 Program.cs

using System; 

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(DateTime.Now.ToString());

            Console.ReadKey(); 

        }
    }
}

CD 命令 切换到 D 盘 ,并输入  csc  Program.cs ,执行后发现生成了 Program.exe ,并且可以成功运行,现在 已经用 csc.exe 成功编译了源文件

 

 

C# 使用 csc.exe 实现命令行生成

 

如果源文件的语法有问题,会成功编译通过吗?

我把Program.cs 改成下面的

using System; 

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(DateTime.Now.ToString());

            Console.ReadKey();  
 

 重新编译, 执行命令 csc Program.cs

C# 使用 csc.exe 实现命令行生成

 

 

 

发现编译失败了,说明 csc.exe 会对我们的语法做检查。

 

常用命令

 

   //编译生成 File.exe 的 File.cs :
   csc File.cs

   //编译生成 File.dll 的 File.cs :
   csc -target:library File.cs

   //编译 File.cs 并创建 My.exe :
   csc -out:My.exe File.cs

   //编译当前目录中的所有 C# 文件,对其进行优化并定义 DEBUG 符号。  输出为File2.exe :  
   csc -define:DEBUG -optimize -out:File2.exe *.cs

   //编译当前目录中的所有 C# 文件,生成 File2.dll 的调试版本。 不显示徽标和警告:
   csc -target:library -out:File2.dll -warn:0 -nologo -debug *.cs

   //将当前目录中的所有 C# 文件编译为 Something.xyz (DLL):
   csc -target:library -out:Something.xyz *.cs
  
 

  

 

C# 使用 csc.exe 实现命令行生成

上一篇:C#中的System.Web.HttpUtility.UrlEncode转码问题


下一篇:安装Windows8/Windows10时,在安装界面提示无法在此驱动器上安装Windows