代码之家  ›  专栏  ›  技术社区  ›  Tor Haugen

在项目模板中包含对自己程序集的引用的最佳方法是什么?

  •  5
  • Tor Haugen  · 技术社区  · 14 年前

    我们已经用C#开发了一个库,现在我想创建一个项目模板来帮助正确使用库。

    我希望新项目包含对库程序集的引用,但不希望必须将程序集部署到GAC,也不希望依赖驻留在某个特定位置的程序集。

    我的想法是在项目模板.zip文件中包含.dll。这意味着它最终会出现在新项目的项目文件夹中。可能在一个名为Lib的文件夹中。然后项目文件中的引用提示可以指向该文件夹。这是个好主意吗?今后我可能会面临哪些问题?

    是否有某种机制可以在我不知道的项目模板中包含这样的第三方库?你是怎么处理的?我肯定不是第一个。

    1 回复  |  直到 11 年前
        1
  •  3
  •   Andy Hopper    14 年前

    过去我不得不解决这个问题。在一个例子中,它是一个安装到GAC的日志库,这意味着引用元素只需要程序集名称。在另一个例子中,我们将库安装到文件系统中,创建一个包含该位置的注册表项(以防用户变得可爱并更改了我们的安装位置)并使用 project template wizard 查找注册表项并填充替换项以在引用的HintPath中找到正确的位置(注意:模板向导方法要求您将向导的程序集安装到GAC,这听起来像是在试图避免……)

    如果您不想将库安装在GAC或特定位置,那么在项目中包含程序集的方法几乎是您剩下的唯一选择。积极的一面是,项目模板的部署相当简单,您不必使用GAC、自定义向导等。消极的一面是,如果您创建了库的新版本,您的用户将需要更新每个项目的库副本。