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

5 c# visual-studio

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

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

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

如果我尝试添加一个"项目"节点(好像我的解决方案项目文件夹是一个项目),我会收到各种错误.

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

小智 5

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

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

一切正常,但感觉像是最严重的黑客攻击......!有MS的人吗?

  • 你能贴一个你做了什么的例子吗? (2认同)

wom*_*omp 0

我以前从未创建过模板,所以我只能猜测你在做什么。在我们的 .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
Run Code Online (Sandbox Code Playgroud)

_BuildSolutionFolder 在哪里,我们将其映射到一个也称为“_ Build”的物理文件夹。在本例中,它包含一个文件,即 Project.proj 文件,该文件当然会映射到物理文件夹版本。

希望这有一点帮助......?