不使用vs将.cs文件转化为.exe或.dll文件

概要

C# 编译器(csc.exe):C# 编译器(csc.exe)是 Microsoft 提供的命令行工具,用于将 C# 源代码文件(.cs)编译为中间语言(IL)代码,然后生成包含这些代码的 .dll(动态链接库)或 .exe(可执行文件)。可以在命令行中直接调用该工具进行编译。

整体架构流程

在这里插入图片描述

  1. 编写代码: 使用文本编辑器(如 Notepad++、Visual Studio Code 等)编写 C# 代码,并保存为 .cs 文件。例如,创建一个名AdditionCalculator.cs的文件。在这里插入图片描述

  2. 打开命令行: 打开命令行工具(如 cmd、PowerShell 等)。

  3. 导航到文件目录: 使用 cd 命令导航到包含 .cs 文件的目录。例如,如果你的文件在 C:\MyProject 目录下,可以输入 cd C:\MyProject。
    或者在这里插入图片描述

  4. 编译为 .exe文件: 使用 csc.exe 编译器并指定参数来编译 .cs 文件为 .dll 文件。
    假设你的 AdditionCalculator.cs 文件位于 C:\MyProjects\Calculator 目录下,并且你的 csc.exe 编译在 C:\Windows\Microsoft.NET\Framework\v4.0.30319\,你可以使用以下命令进行编译:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe /out:AdditionCalculator.exe AdditionCalculator.cs

这将在同一目录下生成一个名为 AdditionCalculator.exe 的可执行文件。
在这里插入图片描述

5. 执行 .exe 文件
现在,你可以通过命令行来执行这个 AdditionCalculator.exe 文件,并传入两个数字作为参数:

C:\MyProjects\Calculator\AdditionCalculator.exe 1 2

你应该会看到以下输出:

The sum of 1 and 2 is 3

6.编译为 .dll 文件(可选)
虽然这个例子更适合编译为可执行文件(.exe),但如果你想要编译为 .dll 文件(例如,作为一个库供其他程序使用),你可以稍微修改一下代码,使其不包含 Main 方法(因为 .dll 文件通常不包含程序的入口点),然后使用 /target:library 参数进行编译。但在这个例子中,我们不需要这样做,因为 Main 方法是必需的,以便我们可以从命令行运行程序。

csc /target:library /out:AdditionCalculator.dll AdditionCalculatorLib.cs

举个栗子
在这里插入图片描述
在这里插入图片描述
编译为.exe
使用两个文件一起编译为可执行文件

csc /out:AdditionCalculator.exe AdditionCalculatorProgram.cs AdditionCalculatorLib.cs

编译为.dll
只编译类库文件为动态链接库:

csc /target:library /out:AdditionCalculator.dll AdditionCalculatorLib.cs

这样,您就有了一个可执行文件AdditionCalculator.exe和一个库文件AdditionCalculator.dll。可执行文件可以直接从命令行运行,并接受参数;而库文件则可以被其他C#程序作为引用使用。

在这里插入图片描述

注意事项

  1. 路径问题:确保 csc.exe 编译器的路径正确,或者将其添加到环境变量中以便在任何目录下都能直接调用。
  2. 依赖项:如果 .cs 文件依赖于其他库或框架,你需要使用 /r 参数来指定这些依赖项的路径。
  3. 错误处理:如果编译过程中出现错误,请仔细阅读错误信息并修复代码中的问题。常见的错误包括语法错误、类型错误、引用错误等。

总结

使用命令行工具 csc.exe 可以轻松地将 .cs 文件转化为 .dll 或 .exe 文件,无需依赖 Visual Studio。只需编写好代码,打开命令行工具,导航到文件目录,并使用正确的命令进行编译即可。

  • 23
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值