如何将解决方案文件夹文件添加到VS项目模板?

时间:2009-03-30 20:34:31

标签: c# visual-studio

我正在尝试在Visual Studio中创建项目模板。我的基本解决方案包含两个项目和一个“解决方案项目”解决方案文件夹,其中包含两个项目所需的库(.dll)作为参考。

我的项目模板创建了两个项目,“解决方案项目”文件夹和“解决方案项目”中的另一个文件夹(根据需要)。但是,它不会添加.dll和其他应该填充“解决方案项”的文件。

在.vstemplate文件中,我将.dll的引用添加为“ProjectContem”节点正下方的“ProjectItem”项,并忽略它们。

如果我尝试添加“项目”节点(就像我的解决方案项目文件夹是项目一样),我会收到各种错误。

我真的必须创建一个虚拟项目来保存这些文件吗?

2 个答案:

答案 0 :(得分:4)

似乎我需要在项目中包含杂项文件(Microsoft的术语),以便让项目生成器找到它们。我将它们放入一个文件夹中,并将其包含在我的一个项目模板中。

然后我实现了一个IWizard,我也包含在解决方案模板中,在构建项目之后,它会将文件移动到我想要的位置,并修改.csproj文件以便它不会错过它们。 / p>

这一切都很好,但感觉就像最粗俗的黑客......!有人来自MS吗?

答案 1 :(得分:-1)

我之前从未创建过模板,所以我只能猜测你在做什么。在我们的.sln文件中,我们的解决方案项目如下所示:

Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Build", "_Build", "{45E29CA9-E213-4C73-AA54-AE9B87F79F2D}"
    ProjectSection(SolutionItems) = preProject
        _Build\Project.proj = _Build\Project.proj
    EndProjectSection
EndProject

其中_Build是SolutionFolder,我们将其映射到也称为“_ Build”的物理文件夹。在这种情况下,它包含一个文件Project.proj文件,该文件当然映射到物理文件夹版本。

希望这甚至可以远程帮助..?