2010-06-04 80 views
2

對於下載和安裝.NET/dll,我需要的只是將dll複製到特定的目錄,並讓.NET知道它。它是否正確?安裝.NET dll庫問題

我使用單聲道,所以與單聲道,我設置MONO_PATH包括目錄。而且,它看起來不錯。

這是我的問題。

  1. 有些庫不僅提供了dll文件,還提供了xml文件。例如,我下載了System.Data.SQLite,並且有System.Data.SQLite.dll/xml。這個XML文件的目的是什麼?我還需要複製這個文件嗎?
  2. 對於windows系統,.net dll就像調用此dll的其他dll一樣。它是否正確?我的意思是,我可以將dll複製到一個目錄中,並將該目錄作爲PATH環境的一部分使.NET能夠找到dll。

回答

2
  1. 的XML是IDE的智能(如其他人所說的)。沒有必要。
  2. 通過設置路徑變量來查找DLL的功能僅適用於Windows系統上的本機代碼。對於託管/ .net代碼,遵循.net fusion的規則。有點過分簡化,託管的DLL必須是以下之一:(a)與可執行文件位於同一目錄中,(b)強命名並位於app.config代碼庫屬性可訪問的位置,或(c) GAC。
1
  1. XML文件由IDE用於提供Intellisense文檔。
  2. 在Windows上,將.NET程序集複製到路徑中的某個文件夾似乎不允許可執行文件找到該DLL。
+0

真的嗎?我認爲它使用反射來構建Intellisense? – Nate 2010-06-04 16:24:56

+0

@Nate:有*可能*是一個編譯時選項,將這些信息包含在程序集中......但是我不得不從源碼重建程序集,故意生成XML文檔,以便讓Intellisense與我所說的程序集一起工作下載,不止一次。 – 2010-06-04 16:28:01

+0

如果沒有XML文件,您仍然應該獲得代碼完成,但是沒有文檔。 – 2010-06-04 19:55:41

1

要回答你的兩個問題:

  1. 你不需要XML文件 - 它僅用於智能感知。
  2. 是的,該dll的位置遵循相同的規則作爲任何其他的.NET DLL。它需要位於應用程序文件夾(或Web應用程序/服務的bin文件夾)中或安裝在GAC中。