请大虾解析?有分送呀!

victorgui 2001-12-28 10:26:02
请各位大虾指点!
在csc编译环境下,对单个cs文件进行编译的指令都很熟识,但我不知道如何一次进行多个cs文件的编译。如我用c#写了一个myfirst.cs(包括1.cs,2.cs,3.cs,当然我都用了namespace myfirst)。但编译的过程中不通过,为什么呢?我知道在vs.net环境中是可以这样的。在csc环境下能否这样呢?如何利用类名空间引用呢?谢谢!
...全文
103 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qqchen79 2001-12-29
  • 打赏
  • 举报
回复
要看你想要怎么组织你的Assembly了:
(假设引用依赖性为3 -> 2 -> 1
1. 所有文件编译后放在一个Assembly中,并且只有一个Module(如果要DLL加/t:library):
csc 1.cs 2.cs 3.cs //结果是1.exe (/t:library则是1.dll)

2. 在一个Assembly中,但分布多个Module:
csc /t:module 1.cs //结果1.netmodule
csc /t:module 2.cs //2.netmodule
csc /addmodule:1.netmodule;2.netmodule 3.cs //3.exe
3. 分布在多个Assembly中:
csc /t:library 1.cs //1.dll
csc /r:1.dll /t:library 2.cs //2.dll
csc /r:1.dll /r:2.dll 3.cs //3.exe
qqchen79 2001-12-28
  • 打赏
  • 举报
回复
要看你想要怎么组织你的Assembly了:
(假设引用依赖性为3 -> 2 -> 1
1. 所有文件编译后放在一个Assembly中,并且只有一个Module(如果要DLL加/t:library):
csc 1.cs 2.cs 3.cs //结果是1.exe (/t:library则是1.dll)

2. 在一个Assembly中,但分布多个Module:
csc /t:module 1.cs //结果1.netmodule
csc /t:module 2.cs //2.netmodule
csc /addmodule:1.netmodule;2.netmodule 3.cs //3.exe
3. 分布在多个Assembly中:
csc /t:library 1.cs //1.dll
csc /r:1.dll /t:library 2.cs //2.dll
csc /r:1.dll /r:2.dll 3.cs //3.exe
jhnhu 2001-12-28
  • 打赏
  • 举报
回复
“对单个cs文件进行编译的指令都很熟识”
这是什么意思?
project中,哪个调哪个肯定有个先后顺序,被调用的得先编译成库文件。
如:我有主程序A和类库B,A调用了B,就得这样编译:
csc /t:library b.cs 这里生成b.dll,当然相关的系统类库得用/r参数加上去
csc a.cs /r:b.dll 编译A,A调了B的参考,生成a.exe

看看.net framework或vs.net中的sample目录,里面有些makefile的文件,在dos提示符下进入这些目录,打nmake命令,就会编译好一个project。研究一下makefile文件的内容,会更明白些的。
victorchen 2001-12-28
  • 打赏
  • 举报
回复
呵呵,csc编译环境下是不能这样的吧!在visual c#环境下是可以的!我也是个菜鸟,无法解析!

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧