2010-06-04 83 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中。