2012-03-31 56 views
-1

當創建一個已經存在的程序的DLL文件,是不是習慣性地前往建立在C#中的DLL文件

文件> 新建> 項目> 類庫,

文件>創建它們 添加> 新建項目> 類庫,

文件> Add> 現有項目> Class Library?

+3

您可能想要收集什麼是「DLL」第一之前的一些信息拋出這樣的問題:) – squelos 2012-03-31 15:49:41

+1

習慣上將項目添加到創建程序的解決方案中。使其易於調試。目前還不清楚你是否有這樣的解決方案。 – 2012-03-31 15:52:46

+0

@ Hans Passant - 我不明確的道歉。我有一個項目,我已經完成了以前的任務。我的任務是獲取該項目併爲其創建DLL文件,然後引用它們。我所討論的教科書討論瞭如何創建DLL文件,然後創建源代碼和參考文獻 - 完全與我需要做的事情背道而馳。它有兩個獨立的項目,一個用於DLL文件,另一個用於源代碼。這與我記得教授說的不一致,所以我認爲最好在繼續之前提出要求。 – 2012-03-31 16:09:09

回答

4

你應該區分兩兩件事:

  1. 的DLL - 在機器的編譯代碼(在.NET的情況下,CLR)以供執行
  2. 代碼可讀格式 - 源碼被編譯成DLL的文件。

如果你有一個你可以使用的DLL,你可以將它作爲參考添加到你的項目中。 如果您有源代碼,您可以按照您指定的方式添加它們(添加現有項目)。如果你想寫新的.dll,你應該使用「創建新的類庫」。請注意,無論何時添加「添加現有項目」,項目(連同源代碼)都不會複製到解決方案文件夾中。

基礎知識,你應該知道你走之前:

  1. 解決方案 - 意味着綁幾個項目連成一個邏輯束。
  2. 項目 - 連接幾個源代碼文件/資源​​/等的手段。整合到一個邏輯上,並被編譯成一個物理單元--dll/exe/etc。
  3. 源文件 - 類似MyClass.cs的代碼文件。這是編寫代碼的地方。
  4. 參考 - 從一個項目到另一個項目的引用,以獲取/使用公共可視功能。

我推薦閱讀一些關於C#/。NET的書籍以獲得更清晰的理解。

+0

我在C#/。NET上有一本教科書。教科書顯示通過文件>新建>項目>類庫創建的DLL文件。但是,它首先創建DLL文件,然後編寫源代碼並引用DLL文件。不過,我的家庭作業是從以前的作業中獲取項目,創建DLL文件並引用它們。本書不討論這方面的內容。這就是我困惑的原因。 – 2012-03-31 16:03:46

+0

如果你有一個項目(我想,類庫)從以前的作業,一旦你編譯它,你得到的DLL。然後你可以創建新的類庫並引用以前編譯的項目(作爲一個DLL)。 – 2012-03-31 16:29:48

+0

@ Dmitriy Reznik:謝謝 – 2012-03-31 16:34:24

1

那麼你在你的問題中提到的是用C#創建DLL的好方法(使用類庫項目),進一步你可以直接使用Compiler(csc.exe,它是Csharp編譯器)一些指令來做出DLL你,
考慮,你有幾類,如Add.cs(可以添加數字)Mult.cs(可繁殖)

要建立文件MathLibrary。 DLL,你可以使用這樣的命令

csc /target:library /out:MathLibrary.DLL Add.cs Mult.cs 

/target:library編譯器選項告訴編譯器輸出DLL而不是EXE文件。
/out編譯器選項後跟一個文件名用於指定DLL文件名。

PS:解決方案從How to: Create and Use C# DLLs

引用定製DLL在C#項目導出:

  1. 添加的DLL
  2. 參考在你的項目添加名字空間(或只是開始使用完全限定名的DLL)

快照 Add a reference of the DLL enter image description here

+0

謝謝你的鏈接 – 2012-03-31 16:10:29

2

你說得對,那是創建dll的一種方式,(對於Visual Studio中的類庫,你會得到一個dll),但它比這更多。 你應該收集對DLL的一些知識看看這個鏈接 http://msdn.microsoft.com/en-us/library/1ez7dh12.aspx

還檢查了該鏈接如何在C#DLL http://msdn.microsoft.com/en-us/library/3707x96z(v=vs.80).aspx

+0

感謝您的鏈接 – 2012-03-31 16:10:45

+0

@ProgrammingNewbie我已經更新了我的答案,以滿足您的需求 – 2012-03-31 16:36:07