Visual studio Visual Studio项目模板和专用程序集引用

Visual studio Visual Studio项目模板和专用程序集引用,visual-studio,project-template,Visual Studio,Project Template,我注意到以前有人问了一个类似的问题,如果不是完全相同的话,但是答案没有帮助(不管怎样,是我) 我有一个项目,我正在从中构建模板。当我在程序文件中引用一个程序集时,模板项目本身将很好地构建,但是基于它构建的任何项目都找不到引用的程序集。我试着直接编辑csproj,但也没用。我如何引用这样的非GACed DLL?我是被迫使用IWizard技巧吗?好的。您可以通过以下方式完成此操作: a) 在硬盘驱动器上的相应文件夹中引用您的专用程序集,例如它们将要安装的位置 b) 将项目导出为模板 c) 解压缩模板

我注意到以前有人问了一个类似的问题,如果不是完全相同的话,但是答案没有帮助(不管怎样,是我)


我有一个项目,我正在从中构建模板。当我在程序文件中引用一个程序集时,模板项目本身将很好地构建,但是基于它构建的任何项目都找不到引用的程序集。我试着直接编辑csproj,但也没用。我如何引用这样的非GACed DLL?我是被迫使用IWizard技巧吗?

好的。您可以通过以下方式完成此操作:

a) 在硬盘驱动器上的相应文件夹中引用您的专用程序集,例如它们将要安装的位置 b) 将项目导出为模板 c) 解压缩模板的新zip文件 d) 打开.vstemplate文件 e) 在TemplateContent节点的底部,添加一个引用节点,对于每个引用,添加一个引用节点作为引用的子节点,然后添加一个程序集节点作为引用的子节点,以及程序集的名称。如果程序集在GAC中,我相信您需要输入完全限定的程序集名称,但如果不是这样,它似乎只使用程序集名称


最初,我设置了一个应该搜索的环境路径变量;但是,它最终是不必要的,因为基于模板构建的项目在路径中没有它的情况下运行良好。

对于Web项目,我发现处理此问题的最佳方法是将Bin文件夹包含到项目中,并在该文件夹中包含所有专用程序集。关键是要包含Bin文件夹,否则文件夹将无法复制。

我终于在VS 2010中找到了一个简单的方法,因此我将此答案包括在内,因为很难找到

在vs2010中

进入项目, 然后打包/发布设置, 然后是“资源”选项卡, 单击添加资源, 找到要包括的程序集文件


完成了

顺便说一下,这与为项模板添加引用相同。我试过了,结果成功了。我已经在我的机器上测试过了,但我很快就会在干净的机器上试一试。