在Visual Studio项目模板中包含自定义DLL

问题描述:

我正在尝试在Visual Studio 2008中创建项目模板,并且已经成功完成这项工作。在Visual Studio项目模板中包含自定义DLL

是否有可能在我的项目模板中包含一些自定义程序集,因此一旦我实例化新项目,我不必添加对这些程序集的引用?如果可能的话,我该怎么做呢?

+3

澄清 - 看起来OP想要将项目模板zip文件ASWELL中的依赖项DLL嵌入到项目引用的项目中。此刻我正在努力解决这个问题 - 因为Visual Studio会忽略zip文件中的任何文件,而这些文件不是csproj文件中的项目 - 因此项目不会进行剪切!哎呀! – Adam 2012-04-03 04:29:10

+0

...将DLL链接到项目中是强制它们在VS选择创建项目的新实例时被VS提取的一种方式。虽然它有点丑陋。 – Adam 2012-04-03 04:30:19

是更新zip文件模板中的项目文件。或者使用导出模板与已包含的引用进行比较。 link text将使这更容易。

我需要自己做这个。今天最好的方法是创建一个包含所有'内容'的nuget包,比如DLL。然后将nuget包向导添加到vstemplate的WizardExtension部分,然后添加nuget包(作为对在线存储库的引用,或者实际嵌入的.nupkg文件)...

您的nuget包将被打包在您的最终VSIX文件中 - 将所有内容全部拖放到Visual Studio部署中将是简单的双击。 当开发人员根据您的模板创建新项目时会发生什么情况,是否会创建项目结构,然后Visual Studio将会看到Nuget依赖项,并且它会自动将您的nuget包安装到新模板中,并添加该项目的适当参考。

这里有一对夫妇如何实现这一目标完全充实的解释 - 马辛的例子有一个下载的zip例子(你可以在他的评论中的链接):

Kedar R Kulkarni

Marcin Doboz

将DLL复制到项目文件夹的某处,将DLL添加到解决方案(添加现有项目,手动将过滤器设置为* .dll),然后在项目设置中添加对该副本的引用。只要您首先这样做,它应该存储在导出的项目模板中。