5

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

我希望新项目包含对库程序集的引用,但不希望将程序集部署到 GAC,或者依赖于位于某个特定位置的程序集。

我在想的是在项目模板 .zip 文件中包含 .dll 。这意味着它将最终出现在新项目的项目文件夹中。也许在一个名为 Lib 的文件夹中。那么项目文件中的引用提示就可以指向那个文件夹。这是一个好主意吗?我在路上可能会遇到什么问题?

是否有一些机制可以在我不知道的项目模板中包含此类 3rd 方库?你是如何解决这个问题的?当然我不是第一个。

4

1 回答 1

3

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

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

于 2011-02-25T20:11:26.357 回答