【问题标题】:Installation of .NET dll libraries questions.NET dll 库的安装问题
【发布时间】:2010-06-04 16:19:16
【问题描述】:

对于下载和安装 .NET/dll,我只需将 dll 复制到特定目录,并让 .NET 知道它。这是正确的吗?

我使用单声道,所以对于单声道,我将 MONO_PATH 设置为包含目录。而且,看起来还可以。

这是我的问题。

  1. 有些库不仅提供dll文件,还提供xml文件。例如,我下载了 System.Data.SQLite,我有 System.Data.SQLite.dll/xml。这个xml文件的目的是什么?我是否也必须复制此文件?
  2. 对于windows系统,.net dll在调用这个dll方面和其他dll一样。它是否正确?我的意思是,我可以将 dll 复制到一个目录中,并将该目录作为 PATH 环境的一部分,使 .NET 能够找到该 dll。

【问题讨论】:

    标签: .net dll mono installation


    【解决方案1】:
    1. XML 用于 IDE 智能感知(正如其他人所说)。没有必要。
    2. 通过设置路径变量定位 DLL 的功能仅适用于 Windows 系统上的本机代码。对于托管/.net 代码,遵循.net fusion 的规则。有点过于简化了,托管 DLL 必须是以下之一:(a) 与可执行文件位于同一目录中,(b) 具有强名称且位于 app.config 代码库属性可访问的位置,或 (c) 在GAC。

    【讨论】:

      【解决方案2】:
      1. 您的 IDE 使用 XML 文件来提供 Intellisense 文档。
      2. 在 Windows 上,将 .NET 程序集复制到路径上的文件夹似乎不允许可执行文件找到 DLL。

      【讨论】:

      • 真的吗?我认为它使用反射来构建 Intellisense?
      • @Nate:可能有一个编译时选项可以将此信息包含在程序集中...但我不得不从源代码重建程序集,故意生成 XML文档,让 Intellisense 不止一次使用我下载的上述程序集。
      • 没有 XML 文件,您仍然应该获得代码完成,但没有文档。
      【解决方案3】:

      回答你的两个问题:

      1. 您不需要 XML 文件 - 它仅用于智能感知。
      2. 是的,dll 位置遵循与任何其他 .NET dll 相同的规则。它需要位于应用程序文件夹(或用于 Web 应用程序/服务的 bin 文件夹)或安装在 GAC 中。

      【讨论】:

        猜你喜欢
        • 2011-12-29
        • 2011-01-17
        • 1970-01-01
        • 2010-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-04
        • 1970-01-01
        相关资源
        最近更新 更多