5

Web アプリケーション、デスクトップ、いくつかのクラス ライブラリ、単体テスト プロジェクトを含むマルチ プロジェクト ソリューション テンプレートを作成中です。

基本的なコンテナーを作成し、VSIX コンテナーとしてパックしました。VSIX コンテナーをインストールすると、ソリューション テンプレートの .zip ファイルを次の物理パスに配置できます。

%AppData%\Local\Microsoft\VisualStudio\11.0\Extensions\tbxs0hui.w2e\ProjectTemplates\CSharp\1033\myprojecttemplate.zip で問題ありません。

しかし、Visual Studio 2012 を起動すると、新しいプロジェクト - > 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フォルダーの下に4つのテストプロジェクトが作成されません.vstemplateのTestsフォルダーの下にあるクラスライブラリに置き換えてみました. ProjectTypeGuid {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} の単体テスト プロジェクトのみが Tests フォルダーの下に作成されません。

4

2 に答える 2

0

devenv /setupそこに新しいテンプレートを配置したことを Visual Studio が認識するように実行してみてください。

とにかく、カスタム テンプレートの場合は、.zip ファイルを配置することをお勧めします。

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

VS 自体がここからテンプレートを取得するため、 devenv /setup を明示的に実行する必要はありません。

于 2013-03-24T13:10:00.337 に答える
0

私は同じ問題を抱えていました、

テンプレートはどのように作成していますか?テンプレートを作成するには、次の 2 つの方法があります。

  1. ファイル --> テンプレートのエクスポート.. この方法で実行すると、VSIX パッケージを使用する VS2012 では機能しません。
  2. C# プロジェクト テンプレート (拡張性の下) を使用して、テンプレートを直接作成します。

2番目の方法がうまくいきました。

于 2013-07-18T08:01:18.783 に答える