You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在终端中无需创建项目编译链接两个C# 10的.cs文件?

无IDE环境下C#跨文件类引用方案(附底层原理)

一、快速测试:直接编译多个源文件

你这两个同文件夹、同命名空间的.cs文件,完全不用折腾DLL,直接用C#编译器csc把两个文件一起编译就行:

  • 打开CMD/PowerShell,切换到文件所在文件夹
  • 执行命令:csc Program.cs Supportive.cs
    编译完成后会生成Program.exe,直接运行就能调用Supportive类了。

二、生成并引用DLL的正确操作

如果确实需要用DLL的方式,之前操作失败大概率是参数没加对,正确步骤是:

  1. 先把Supportive.cs编译成类库(DLL):
    csc /target:library Supportive.cs
    执行后会得到Supportive.dll文件
  2. 编译Program.cs时引用这个DLL:
    csc /reference:Supportive.dll Program.cs
    这样生成的Program.exe就能正常调用DLL里的Supportive类了。

三、底层工作原理

C#编译器(csc)在编译时,必须获取到所有用到的类的源代码或者已编译程序集(DLL/EXE):

  • 直接编译多个.cs文件时,编译器会同时解析所有文件的代码,自动识别同一命名空间下的类,将它们合并到同一个程序集(EXE)中。
  • 引用DLL时,编译器会读取DLL里的元数据(包含类的结构、方法签名等信息),编译阶段只需要这些元数据就能生成调用逻辑,程序运行时再加载DLL执行具体代码。
  • Visual Studio里的“跨项目引用”,本质就是IDE帮你自动完成了上述步骤:先编译被引用项目生成DLL,再在主项目编译时自动添加/reference参数引用该DLL,省去了手动敲命令的麻烦。

内容的提问来源于stack exchange,提问作者vy8

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 07:40:44