将文件夹添加到多项目Visual Studio 2010模板

7
我一直在为Visual Studio制作一个完整的垂直栈模板(如果您想帮忙,可以在Github上找到它:https://github.com/Adron/infrastructure)。我的问题是,我无法在解决方案的根目录中添加程序集文件夹。虽然整个父级解决方案模板中有三个项目模板,每个项目模板都有许多单独的元素,如文件和文件夹,但当我试图将任何类似的内容添加到父模板时,它会报告在XML模式/文件中不合法。我的当前解决方案XML文件如下:
<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="ProjectGroup">
  <TemplateData>
    <Name>ASP.NET MVC 3 + Razor + Machine.Specifications Infrastructure Solution</Name>
    <Description>This Visual Studio Template provides the following pieces for getting a kick start when building well designed web sites using good patterns.</Description>
    <EnableEditOfLocationField>true</EnableEditOfLocationField>
    <EnableLocationBrowseButton>true</EnableLocationBrowseButton>
    <ProvideDefaultName>true</ProvideDefaultName>
    <Icon>Icon.ico</Icon>
    <ProjectType>CSharp</ProjectType>
    <SortOrder>1000</SortOrder>
    <CreateNewFolder>true</CreateNewFolder>
    <DefaultName>Infrastructure</DefaultName>
    <LocationField>Enabled</LocationField>
    <PreviewImage>Preview.png</PreviewImage>
  </TemplateData>
  <TemplateContent>
    <ProjectCollection>
      <ProjectTemplateLink ProjectName="Infrastructure.Web">Web\MyTemplate.vstemplate</ProjectTemplateLink>
      <ProjectTemplateLink ProjectName="Infrastructure.Specifications">Specifications\MyTemplate.vstemplate</ProjectTemplateLink>
      <ProjectTemplateLink ProjectName="Infrastructure.Data">Data\MyTemplate.vstemplate</ProjectTemplateLink>
    </ProjectCollection>
  </TemplateContent>
</VSTemplate>

有没有关于如何添加文件夹或单个资源的想法?谢谢...

你是否尝试将它们作为解决方案项添加,但这并不符合你的需求?右键点击解决方案,选择添加、新建解决方案文件夹、新项目等。 - ssmith
不确定你的问题是什么,但如果我没错的话,你正在尝试构建一个需要引用多个项目的模板。解决方案文件夹就是解决方案,你可以在ProjectCollection元素中得到一个名为SolutionFolder的子元素。问题是它不接受文件作为xml。我没有尝试过,但你可以通过直接在zip中添加文件并设置一个与包含dll的文件夹同名的空解决方案文件夹来测试一下。 - Morti
1个回答

1

这是我的解决方案的一部分,其中包括解决方案项:

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8C6F0281-2022-4F98-A856-590C5FE26BC1}"
    ProjectSection(SolutionItems) = preProject
        ..\Build.bat = ..\Build.bat
        ..\Build.proj = ..\Build.proj
        ..\ClickToBuild.bat = ..\ClickToBuild.bat
        ..\DeployStage.bat = ..\DeployStage.bat
        LocalTestRun.testrunconfig = LocalTestRun.testrunconfig
        Performance1.psess = Performance1.psess
    EndProjectSection
EndProject

这有帮助吗?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接