cs文件如何如何编译

本文介绍如何使用C#编译器选项编译不同类型的程序,包括控制台应用程序、类库等,并演示如何引用类库。通过具体示例展示了如何编译一个简单的数学类库并将其用于控制台应用程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在其他类型的应用程序如何编译?如果要引用一个类库,该怎么办?MSDN 文档详细介绍了C#编译器的所有编译选项,这里只介绍其中最重要的选项。
要回答第一个问题,应使用/target 选项(常简写为/t)来指定要创建的文件类型。文件类型可以是表2-8 所示的类型中的一种。

表2-8
选 项                 输 出
/t:exe               控制台应用程序 (默认)
/t:library           带有清单的类库
/t:module        没有清单的组件
/t:winexe         Windows 应用程序 (没有控制台窗口)
如果想得到一个可由.NET 运行库加载的非可执行文件(如DLL),就必须把它编译为一个库。如
果把C#文件编译为一个模块,就不会创建任何程序集。虽然模块不能由运行库加载,但可以使用
/addmodule 选项编译到另一个清单中。
另一个需要注意的选项是/out,该选项可以指定由编译器生成的输出文件名。如果没有指定/out
选项,编译器就会使用输入的C#文件名,加上目标类型的扩展名来确定输出文件名(如.exe 表示
Windows 或控制台应用程序,.dll 表示类库)。注意/out 和/t(或/target)选项必须放在要编译的文件名
前面。
默认状态下,如果在未引用的程序集中引用类型,可以将/reference 或/r 选项与程序集的路径和
文件名一起使用。下面的例子说明了如何编译类库,并在另一个程序集中引用这个库。它包含两个
文件:
● 类库
● 控制台应用程序,该应用程序调用库中的一个类
第一个文件MathLibrary.cs 包含DLL 的代码,为了简单起见,它只包含一个公共类MathLib 和
一个方法,该方法把两个int 类型的数据加在一起:
namespace Rvsui
{
public class MathLib
{
public int Add(int x, int y)
{
return x + y;
}
}
}
使用下述命令把这个C#文件编译为. NET DLL:
csc /t:library MathLibrary.cs
控制台应用程序MathClient.cs 将简单地实例化这个对象,调用其Add()方法,在控制台窗口中
显示结果:
using System;
namespace Rvsui
{
class Client
{
public static void Main()
{
MathLib mathObj = new MathLib();
Console.WriteLine(mathObj.Add(7,8));
}
}
}
使用/r 选项编译这个文件,使之指向新编译的DLL:
csc MathClient.cs /r:MathLibrary.dll
当然,下面就可以像往常一样运行它了:在命令提示符下输入MathClient,其结果是显示数字
15—— 加运算的结果。

转载于:https://my.oschina.net/robortly/blog/367390

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值