我正在开发一个Visual Studio模板,其中生成的项目依赖于许多引用,这些引用恰好是源代码管理下的其他项目。
问题是如何在我的ProjectGroup模板中进行设置?例如,如果我在“C:\ Stuff \ MyUtilityProject \ Utility.csproj”中已经存在一个项目,并且我想将一个文件(Tools.cs)添加到我的模板中,我该怎么做?
这是我的vstempalte的样子。仅供参考 - 我对ProjectTemplateLink没有任何问题或创建了Solution文件夹,只是将预先存在的Utility.csproj添加到我的新解决方案中:
提前致谢!
<VSTemplate Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="ProjectGroup">
<TemplateData>
<Name>MySampleSolution</Name>
<Description>My Test Project</Description>
<ProjectType>CSharp</ProjectType>
<Icon>__TemplateIcon.ico</Icon>
</TemplateData>
<TemplateContent>
<ProjectCollection>
<SolutionFolder Name="Content">
<Project File="C:\Stuff\MyUtilityProject\Utility.csproj">
<ProjectItem>Tools.cs</ProjectItem>
</Project>
</SolutionFolder>
<ProjectTemplateLink ProjectName="MyWorkingTemplate">
MyWorkingTemplate\MyTemplate.vstemplate
</ProjectTemplateLink>
</ProjectCollection>
</TemplateContent>
</VSTemplate>
答案 0 :(得分:1)
我在 Visual Studio 2010(Ultimate)中了解的唯一解决方法是从模板中创建项目/解决方案,添加 *。cs 您需要的文件,然后使用模板导出向导再次导出解决方案。
对于您拥有的库,您可以创建项目模板而不是项目/解决方案模板 - 这允许使用 add - &gt;添加它Visual Studio的解决方案资源管理器中的上下文菜单中的新项。
要创建项目模板,请打开解决方案,然后使用文件 - &gt;导出模板... ,并在向导对话框打开后选择项目模板作为导出类型。
确保在向导中选中了“导入”复选框,否则在创建后不会自动安装。
答案 1 :(得分:1)
您可host your own NuGet feed(或使用the NuGet capabilities TeamCity或私有MyGet Feed。然后您只需要package your utility project as a NuGet package并将其添加到您的http://docs.nuget.org/docs/reference/packages-in-visual-studio-templates此处描述的项目模板:{{3}}
答案 2 :(得分:0)
这就是你要找的东西:
Visual Studio - Programmatically configure solution for source control
编辑:
我一直在环顾这个相当有趣的项目,它似乎是出口解决方案,而不是可能或可能不是更好主意的项目。我特别喜欢最后的部分说它会剥离源代码控制,所以你得到一个干净的项目。我知道这不是你想要的确切答案,但值得一看;)
http://flux88.com/blog/exporting-visual-studio-solutions-with-solutionfactory/