.net 如何在多项目sln模板Visual Studio 2015中添加现有项目

.net 如何在多项目sln模板Visual Studio 2015中添加现有项目,.net,visual-studio,visual-studio-2015,projects-and-solutions,.net,Visual Studio,Visual Studio 2015,Projects And Solutions,我正在尝试制作一个包含多个项目的sln模板。 我可以做的是在一个模板中创建多个新项目,但我不知道如何在模板内的其他解决方案中添加对现有项目的引用。感谢您的帮助 编辑 作为另一个相关方,为了澄清,此问题询问的是Visual Studio Solution模板及其对包含现有标准项目的解决方案进行模式化的能力(或缺乏) 在我的情况下(我不确定OP在做什么),我创建了大约80个左右的小型控制台应用程序,每个应用程序都引用了几个标准项目进行数据检索等等。我想有一个方法,通过它我可以选择New>Projec

我正在尝试制作一个包含多个项目的sln模板。 我可以做的是在一个模板中创建多个新项目,但我不知道如何在模板内的其他解决方案中添加对现有项目的引用。感谢您的帮助

编辑 作为另一个相关方,为了澄清,此问题询问的是Visual Studio Solution模板及其对包含现有标准项目的解决方案进行模式化的能力(或缺乏)

在我的情况下(我不确定OP在做什么),我创建了大约80个左右的小型控制台应用程序,每个应用程序都引用了几个标准项目进行数据检索等等。我想有一个方法,通过它我可以选择New>Project>MY CUSTOM TEMPLATE$,它可以创建一个带有控制台项目、测试项目的解决方案,包括5个现有项目以及对其他内容的一些引用


不能为现有项目保存项目模板。所要做的就是重新创建有问题的项目。如果原始项目发生更改(并且会发生更改),更改将不会保留到副本中。

首先,将所有必要的项目添加到您的解决方案中(解决方案上的RC->添加新项目/现有项目)


之后,您需要转到文件->导出模板。然后只需继续弹出窗口,您就可以开始了。

根据我的研究和测试,我不得不说,这目前是不可能的(创建包含现有项目“链接”的解决方案模板,而不是创建现有项目的副本)

我很想被证明这是错误的,但我已经阅读了很多关于VisualStudio模板的MSDN文档,以及一些第三方“教程”/博客,试图找到一种实现方法


**更新** 在VisualStudio反馈论坛中,您可以使用任何有兴趣在VisualStudio中改进模板创建的人提供的支持


以下是我使用的几个参考资料:

  • MSDN文章-“”
  • jayway.com的一篇博文(2015年3月13日)-“”(这是我的主要来源,因为它包括非常详细的说明以及帮助解释MSDN文章中概述的相同步骤的屏幕截图,以及一些额外的“提示”)
我能找到的最接近于使其工作的东西是另一篇MSDN文章,关于如何将预编译程序集添加到模板-“”。您可能可以使用它指向其他项目的
\Release
(或
\Debug
)文件夹,但在某些情况下,重新编译其他程序集后可能会导致某些意外行为

也有一些关于可能为你的项目制作一个NuGet包的讨论,然后在模板中引用它,但这仍然不是我想要的。我没有对此解决方案做过太多的研究,但如果您对这种方法感兴趣,这里有一个指向Microsoft Docs文章的链接-“”

在这一点上,我最好的建议是就这个问题提出建议或进行表决。我只能在那里找到一条关于这个主题的建议(),但它已经被管理员关闭,因为它在头两个月(2016年11月-2017年1月)内没有获得足够的选票

如果你发布了一个新的建议,我建议你推广它,并与任何你认为可能感兴趣的人分享,这样你就可以开始收集选票,防止它被关闭


仅供参考,本着分享的精神,这里是我一直使用的“测试”模板。也许其他人可以找到一种方法让它发挥作用:

示例VSTEMPLATE (不会产生期望的结果)

新应用程序模板
用于创建新应用程序的模板
视觉的
1000
真的
新应用
真的
启用
真的
SampleIcon.png
UI\MyUI.vstemplate
在我的研究中,制作解决方案模板(而不是项目模板)似乎有几个关键点:

  • 在元素中,将
    类型
    属性设置为
    项目组
    ,而不是
    项目
    项目
    (即使MSDN文档仅列出后两个可能的值)
  • 在元素下,将元素标记环绕(可能还有)元素

我尝试了此
.vstemplate
文件的许多变体和迭代,但是,当我尝试在Visual Studio中创建一个新项目时,得到的只是一个项目“解决方案”($projectname$.UI)。我已经尝试将现有项目的路径/文件名向下移动到标记数据中(而不是
文件
属性),移动到
元素的
子元素中,并尝试进行各种其他小“调整”以使其工作。

导出模板向导只允许导出项目和项模板。对于要添加到解决方案中的新项目,这很好。但是,如果我想将现有项目添加到从模板生成的解决方案中,那么所做的就是在解决方案生成时重新创建“现有”项目。这是不能令人满意的。所需的功能是将项目文件(及其引用的所有文件)引入衍生解决方案,而不是每次重新创建项目。是否有人找到了实现这一点的方法(创建包含现有项目而不是该项目副本的解决方案模板)?最好是在“主”新项目中创建对现有项目的引用作为引用?除了我的,我正在考虑开发一个Visual Studio模板Ma
<VSTemplate Version="3.0.0" Type="ProjectGroup" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
  <TemplateData>
    <Name>New Application Template</Name>
    <Description>Template for creating a new application</Description>
    <ProjectType>VisualBasic</ProjectType>
    <ProjectSubType></ProjectSubType>
    <SortOrder>1000</SortOrder>
    <CreateNewFolder>true</CreateNewFolder>
    <DefaultName>NewApplication</DefaultName>
    <ProvideDefaultName>true</ProvideDefaultName>
    <LocationField>Enabled</LocationField>
    <EnableLocationBrowseButton>true</EnableLocationBrowseButton>
    <Icon>SampleIcon.png</Icon>
  </TemplateData>
  <TemplateContent>
    <ProjectCollection>
        <Project File="C:\Development\Libraries\MyLibrary.vbproj">
        </Project>
        <ProjectTemplateLink ProjectName="$projectname$.UI">
                UI\MyUI.vstemplate
        </ProjectTemplateLink>
    </ProjectCollection>
  </TemplateContent>
</VSTemplate>