我正在尝试在Visual Studio中创建项目模板。我的基本解决方案包含两个项目和一个“解决方案项目”解决方案文件夹,其中包含两个项目所需的库(.dll)作为参考。
我的项目模板创建了两个项目,“解决方案项目”文件夹和“解决方案项目”中的另一个文件夹(根据需要)。但是,它不会添加.dll和其他应该填充“解决方案项”的文件。
在.vstemplate文件中,我将.dll的引用添加为“ProjectContem”节点正下方的“ProjectItem”项,并忽略它们。
如果我尝试添加“项目”节点(就像我的解决方案项目文件夹是项目一样),我会收到各种错误。
我真的必须创建一个虚拟项目来保存这些文件吗?
答案 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文件,该文件当然映射到物理文件夹版本。
希望这甚至可以远程帮助..?