.cs編譯成DLL文件

cs文件如何生成exe,dll文件
以下是本人的製作過程:
1.E盤下有一個Test.cs 文件。
2.開始-》程序-》Microsoft Visual Studio 2005-》Visual Studio Tools-》Visual Studio 2005 命令提示
3.命令提示符山輸入:csc /target:library /out:E:\MyTestDLL.dll E:\Test.cs
即可在E盤生成一個名爲MyTestDLL的dll文件,該dll的主題是Test.cs
備註:
我在生成自己的DLL時出現這種錯誤:
e:\DotNetBarCode.cs(8,29): error CS0234:
         命名空間“Microsoft.VisualBasic”中不存在類型或命名空間名稱“CompilerServices”(是缺少程序集引用嗎?)
因爲我這個類中第八行有着樣的引用“using Microsoft.VisualBasic.CompilerServices;”;然而vs2005c#程序不能引用到VB中的類庫。所以報錯。
我的解決辦法是:
找到我自己電腦上該VB類庫的路徑,引入編譯。
/reference:C:\WINDOWS\Microsoft.NET\Framework\v2
.0.50727\Microsoft.VisualBasic.dll
完整的語句這樣:
csc /target:library /out:E:\MyTestDLL.dll E:\Test.cs /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Microsoft.VisualBasic.dll

祝大家解決問題!以下是摘錄:
1、打開 Microsoft .NET Framework SDK v2.0--> SDK Command Prompt
2、指定cs文件所在的目錄(如 E:)
3、運行命令 csc /? 查看所有的命令以及各自的參數
4、csc /target:exe *.cs (生成exe文件)----/t:exe *.cs (Short form)
5、csc /target:library *.cs (生成dll文件)-- /t:library *.cs (Short form)

在網上搜索到的,一般不詳細,這個比較詳細,果然實驗成功。
現在的問題,這個DLL如何調用?
似乎.net的很好調用,ASP能調用嗎?
其他語言能調用嗎?

 

通過在命令行上鍵入 C# 編譯器可執行文件的名稱 (csc.exe),可以在命令行調用 C# 編譯器。如果希望從計算機上的任何子目錄調用 csc.exe,可能需要調整路徑。

命令行語法規則
當解釋操作系統命令行上給出的參數時,C# 編譯器代碼使用下面的規則:

參數用空白分隔,空白可以是一個空格或製表符。
^ 字符 (^) 未被識別爲轉義符或者分隔符。該字符在被傳遞給程序中的 argv 數組前,完全由操作系統的命令行分析器進行處理。
無論其中有無空白,包含在雙引號 ("string") 中的字符串均被解釋爲單個參數。帶引號的字符串可以嵌入在參數內。
前面有反斜槓的雙引號 (\") 被解釋爲原義雙引號字符 (")。
反斜槓按其原義解釋,除非它們緊位於雙引號之前。
如果偶數個反斜槓後跟雙引號,則每對反斜槓中的一個反斜槓放置在 argv 數組中,並且雙引號被解釋爲字符串分隔符。
如果奇數個反斜槓後跟雙引號,則每對反斜槓中的一個反斜槓放置在 argv 數組中,雙引號由其餘的反斜槓“轉義”,使原義雙引號 (") 被放置在 argv 數組中。
命令行示例
編譯 File.cs 以產生 File.exe:
csc File.cs
編譯 File.cs 以產生 File.dll:
csc /target:library File.cs
編譯 File.cs 並創建 My.exe:
csc /out:My.exe File.cs
通過使用優化和定義 DEBUG 符號,編譯當前目錄中所有的 C# 文件。輸出爲 File2.exe:
csc /define:DEBUG /optimize /out:File2.exe *.cs
編譯當前目錄中所有的 C# 文件,以產生 File2.dll 的調試版本。不顯示任何徽標和警告:
csc /target:library /out:File2.dll /warn:0 /nologo /debug *.cs
將當前目錄中所有的 C# 文件編譯爲 Something.xyz(一個 DLL):
csc /target:library /out:Something.xyz *.cs  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章