(1)/addmodule 指定要在所創(chuàng)建程序集中包含的模塊,這是一種創(chuàng)建多文件程序集的簡(jiǎn)便方法。 (2)/debug 允許生成調(diào)試信息。 (3)/define 預(yù)處理器指令能直接傳給編譯器:/define:DEBUG (4)/delaysign 使用強(qiáng)名的延遲簽名構(gòu)建程序集。 (5)/doc 指定要生成一個(gè)包含XML文檔的輸出文件。 (6)/keyfile 指定.snk文件的路徑,該文件中包含用于強(qiáng)簽名的密鑰對(duì)。 (7)/lib 指定/reference選項(xiàng)中包含的程序集所在的位置。 (8)/out 編譯所得輸出文件的文件名,默認(rèn)為輸入文件名加.exe后綴。 (9)/reference(簡(jiǎn)寫(xiě)/r) 引用一個(gè)外部程序集。 (10)/resource 將資源文件嵌入到創(chuàng)建的程序集中。 (11)/target(簡(jiǎn)寫(xiě)/t) 指定所創(chuàng)建輸出文件的類型: /t:exe 構(gòu)建*.exe控制臺(tái)應(yīng)用,這是默認(rèn)輸出 /t:library 構(gòu)建*.dll程序集 /t:module 構(gòu)建不包含清單的模塊(可移植的可執(zhí)行文件,PE) /t:winexe 構(gòu)建*.exe Windows窗體程序集 使用原始編譯器的真正意義是,可以同時(shí)處理多個(gè)文件和程序。 例:有兩個(gè)C#源文件,client.cs和clientlib.cs ?。壕幾g多個(gè)文件: C#編譯器接受多個(gè)輸入源文件,并將輸出合并為一個(gè)程序集 csc /out:client.exe client.cs clientlib.cs ⅱ:創(chuàng)建和使用代碼庫(kù) Clientlib中的代碼可以放入一個(gè)單獨(dú)的庫(kù)中,這個(gè)庫(kù)可以由所有客戶訪問(wèn) csc /t:library clientlib.cs 輸出是一個(gè)名為clientlib.dll的程序集,編譯客戶代碼,并引用這個(gè)外部 程序集: csc /r:clientlib.dll client.cs 輸出是一個(gè)名為client.exe的程序集,如果使用Ildasm查看,可以看到 單中包含有對(duì)clientlib程序集的引用。 ⅲ:創(chuàng)建多文件程序集 與作為一個(gè)單獨(dú)的程序集相比,更好的方式是將clientlib作為一個(gè)單獨(dú)的文件打包到client.exe程序集中。由于程序集中只有一個(gè)包含清單的文件,所以首先要將clientlib.cs編譯為可移植的可執(zhí)行模塊。為此,要將輸出目標(biāo)設(shè)置為module: csc /t:module clientlib.cs 輸出文件是clientlib.netmodule。使用編譯器的addmodule選項(xiàng)將它添加到client.exe程序集: csc /addmodule:clientlib.netmodule client.cs 最后得到的程序集包含兩個(gè)文件:client.exe和clientlib.netmodule. |
聯(lián)系客服