呵呵,csc编译环境下是不能这样的吧!在visual c#环境下是可以的!我也是个菜鸟,无法解析!

解决方案 »

  1.   

    “对单个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文件的内容,会更明白些的。
      

  2.   

    要看你想要怎么组织你的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
      

  3.   

    要看你想要怎么组织你的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