我们已经用C#开发了一个库,现在我想创建一个项目模板来帮助正确使用库。
我希望新项目包含对库程序集的引用,但是不希望不必将程序集部署到GAC,或者依赖于驻留在某个特定位置的程序集。
我在想的是将.dll包含在项目模板.zip文件中。这意味着它将最终位于新项目的项目文件夹中的某个位置。也许在名为Lib的文件夹中。然后项目文件中的引用提示可以指向该文件夹。这是一个好主意吗?我可能面临什么问题?
是否有一些机制可以在项目模板中包含我不知道的第三方库?你是怎么解决这个问题的?当然,我不是第一个。
答案 0 :(得分:3)
我过去必须解决这个问题。在一种情况下,它是安装到GAC的日志库,这意味着Reference元素只需要程序集名称。在另一种情况下,我们将库安装到文件系统,创建了一个包含该位置的注册表项(如果用户很可爱并更改了我们的安装位置)并使用project template wizard查找注册表项并填充替换项以在Reference的HintPath中具有正确的位置。 (注意:模板向导方法要求您将向导的程序集安装到GAC,这听起来像是您要避免......)
如果您不希望将库安装在GAC或特定位置,那么将程序集包含在项目中的方法几乎是您唯一的选择。从积极的方面来说,项目模板的部署非常简单,您不必使用GAC,自定义向导等。在消极方面,如果您创建了库的新版本,您的用户将需要更新每个项目的库副本。