无Visual Studio时,如何用命令行编译无Main方法的类为DLL?
如何用命令行将C#类文件编译为DLL
嘿,这个问题我太清楚了!你遇到的报错本质原因很简单:默认情况下C#编译器(csc.exe)会尝试生成可执行文件(EXE),而EXE必须要有一个static Main方法作为程序的入口点——但你的类文件是用来做类库的,根本不需要这个入口,所以编译器才会报错找不到合适的Main方法。
正确的编译命令
你只需要在编译时明确告诉编译器要生成类库(DLL),使用/target:library参数(可以简写为/t:library),具体命令如下:
csc /target:library AuthenticatedProxy.cs
执行这个命令后,你就能在当前目录下得到一个AuthenticatedProxy.dll文件,这就是你需要的类库文件,里面包含了你写的AuthenticatedProxy类的所有功能,之后可以直接在其他C#项目里引用这个DLL来使用类的内容。
补充:如果你的类依赖其他程序集
如果你的AuthenticatedProxy.cs引用了其他第三方或系统程序集(比如System.Net、Newtonsoft.Json之类的),可以用/reference参数(简写/r)添加依赖,比如:
csc /t:library /r:System.Net.dll,Newtonsoft.Json.dll AuthenticatedProxy.cs
这样编译器就能找到你类里用到的外部类型,顺利完成编译。
内容的提问来源于stack exchange,提问作者Dip
相关产品推荐
相关产品推荐

