visual-studio-2012 - 多项目解决方案模板

标签 visual-studio-2012 visual-studio-extensions vsix project-template multi-project

我正在创建具有 Web 应用程序、桌面、少数类库和单元测试项目的多项目解决方案模板。

我构建了基本容器并将其打包为 VSIX 容器。
当我安装 VSIX 容器时,我可以将我的解决方案模板的 .zip 文件放在以下物理路径中

%AppData%\Local\Microsoft\VisualStudio\11.0\Extensions\tbxs0hui.w2e\ProjectTemplates\CSharp\1033\myprojecttemplate.zip,所以一切都很好。

但是当我启动 Visual Studio 2012 时,我看不到在 New Project -> Visual C# 下列出的我的解决方案模板。

我什么时候出错了?有什么建议么?

这是 Multisolution RootTemplate.vstemplate 内容:

<?xml version="1.0" encoding="utf-8"?>
<VSTemplate Version="3.0.0" Type="ProjectGroup" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" xmlns:sdk="http://schemas.microsoft.com/developer/vstemplate-sdkextension/2010">
<TemplateData>
<Name>MultiProject</Name>
<Description>MultiProject</Description>
<Icon>MultiProject.ico</Icon>
<ProjectType>CSharp</ProjectType>
<RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
<SortOrder>1000</SortOrder>
<TemplateID>bbd7217a-8572-4edc-80ce-488cb9a347df</TemplateID>
<CreateNewFolder>true</CreateNewFolder>
<DefaultName>MultiProject</DefaultName>
<ProvideDefaultName>true</ProvideDefaultName>
</TemplateData>
<TemplateContent>    
<ProjectCollection>
<SolutionFolder Name="FolderName1">
  <SolutionFolder Name="FolderName2">
    <ProjectTemplateLink ProjectName="xxxxx">Children\Application1\Application1.vstemplate</ProjectTemplateLink>
    <ProjectTemplateLink ProjectName="yyyy">Children\Application1\Application2.vstemplate</ProjectTemplateLink>        
  </SolutionFolder>
  <SolutionFolder Name="Folder3">
    <ProjectTemplateLink ProjectName="zzzzzz">Children\Application3\Application3.vstemplate</ProjectTemplateLink>
  </SolutionFolder>
  <SolutionFolder Name="Web">
    <ProjectTemplateLink ProjectName="Web">Children\Web\Web.vstemplate</ProjectTemplateLink>
  </SolutionFolder>
</SolutionFolder>    
<SolutionFolder Name="Tests">      
    <ProjectTemplateLink ProjectName="xxxxxTest">Children\ApplicationxxxxUnitTest\ApplicationxxxxUnitTest.vstemplate</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="yyyyyTest">Children\ApplicationyyyyUnitTest\ApplicationyyyyUnitTest.vstemplate</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="zzzzzTest">Children\ApplicationzzzzUnitTest\ApplicationzzzzUnitTest.vstemplate</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="WebTest">Children\ApplicationWebUnitTest\ApplicationWebUnitTest.vstemplate</ProjectTemplateLink>
</SolutionFolder>   
</ProjectCollection>
</TemplateContent>
</VSTemplate>

安装VSIX后,我可以在VS2012中看到一个名为“MultiProject”的新项目。当我创建一个新项目时,四个测试项目没有在Tests文件夹下创建。我尝试用vstemplate中Tests文件夹下的类库替换它们,它工作正常,只有具有 ProjectTypeGuid {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 的单元测试项目不会在测试文件夹下创建。

最佳答案

尝试运行 devenv /setup以便 Visual Studio 识别出您已在其中放置了一个新模板。

无论如何,对于自定义模板,我宁愿建议您将 .zip 文件放入

%DOCUMENTS%\Visual Studio 2012\Templates\ProjectTemplates\Visual C#



因为 VS 本身从这里获取模板,所以您不必显式运行 devenv/setup。

关于visual-studio-2012 - 多项目解决方案模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15327866/

相关文章:

visual-studio-2012 - Windows 8.1 Pro VS 2012 上的 F# 编译错误

javascript - JavaScript 断点未命中的原因可能是什么?

c# - 将文件夹名称与 Productivity Power Tools 颜色编码相匹配的正则表达式

visual-studio - 查找 Visual Studio 2010 扩展的主目录

.net - 如何在 VSIX 包卸载时执行自定义代码?

c# - 如何使用适用于 Windows 8 的 Visual Studio Express 2012 创建适用于 Windows XP 的应用程序

opengl - 简短的OpenGL代码: 'PFNGLBINDPROGRAMARB' : undeclared identifier中的编译错误

c# - 如何使用 EnvDTE 列出当前解决方案中的所有项目?

visual-studio-2010 - 如何在 Visual Studio 中扩展项目属性屏幕?

visual-studio-2017 - 如何在VS 2017扩展项目中访问剪贴板