3

我注意到之前有人问过类似的问题,如果不完全相同的话,但答案没有帮助(我,无论如何)。

我有一个正在构建模板的项目。当我在 Program Files 中引用程序集时,模板项目本身会构建得很好,但任何基于它构建的项目都找不到引用的程序集。我尝试直接编辑 csproj,但这也不起作用。我如何引用这样的非 GACed DLL?我是否被迫使用 IWizard 技巧?

4

3 回答 3

2

好的。您可以通过以下方式做到这一点:

a) 在硬盘驱动器上的适当文件夹中引用您的私有程序集,例如将要安装它们的位置 b) 将项目导出为模板 c) 提取模板的新 zip 文件 d) 打开 .vstemplate 文件e) 在 TemplateContent 节点的底部,添加一个 References 节点,并为每个引用添加一个 Reference 节点作为 References 的子节点,然后添加一个 Assembly 节点作为该节点的子节点,并带有程序集的名称。如果程序集在 GAC 中,我相信您需要输入完全限定的程序集名称,否则,它似乎只使用程序集名称。

最初,我会设置一个应该搜索的环境路径变量;然而,它最终是不必要的,因为在模板上构建的项目在路径中没有它的情况下可以正常工作。

于 2009-09-01T17:16:21.057 回答
1

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

于 2009-12-15T01:08:27.163 回答
0

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

在vs2010中

转到项目,然后打包/发布设置,然后资源选项卡,单击添加资源,找到要包含的程序集文件。

完毕!

于 2013-09-23T20:21:42.643 回答