代码之家  ›  专栏  ›  技术社区  ›  Ivan G.

添加引用而不导入类型

  •  0
  • Ivan G.  · 技术社区  · 16 年前

    要在运行时加载dll,我需要它出现在应用程序bin目录中,其中有几个应用程序。为此,我运行了一个构建后脚本,将后期绑定的dll复制到每个可能需要它的应用程序。我想去掉这个脚本,因为它创建了一个繁重的xcopy后期构建过程,这并不是真正必要的。

    在这种情况下你用什么?

    我还可以从每个应用程序中添加对dll的引用,但是在这种情况下,我将创建一个类型引用,并且我(或其他开发人员)可能会意外地从客户端服务器上不存在的后期绑定dll中引用一个类型。

    3 回复  |  直到 16 年前
        1
  •  1
  •   Aaronaught    16 年前

    我以前也处理过这个问题,这很令人沮丧。我现在采取的方法是删除目录依赖关系;将这些后期绑定库的位置外部化(在配置文件中),然后将它们保留在共享位置,您可以将库的生成输出设置为该位置。

    当涉及到部署时,您可以更改该设置,并将库与安装程序打包。

    这在开发/调试多个独立的应用程序时特别有用,因为您只需要跟踪库的单个副本。

    如果这不是你的选择——也许它太难外部化,或者可能一个应用程序与另一个应用程序之间的依赖关系存在重大差异——那么我会同意nobugz的答案。

        2
  •  1
  •   Hans Passant    16 年前

    您不必使其成为引用程序集,就可以将其复制到客户机项目中。项目+添加现有项,选择DLL。将其构建操作设置为“无”,将“复制到输出”设置为“如果更新,则复制”。

        3
  •  0
  •   Sylvain    16 年前

    将所有后期绑定项目的生成输出更改为直接在要进行后期绑定的项目中生成。因此,不要将它们构建到自己的/bin/debug/,而是将它们构建到../MyMainApp/bin/debug/。

    推荐文章