2

VS 2010 でマルチプロジェクト テンプレートを作成しました。作成されたフォルダー構造は次のとおりです。

Service1
MyService.Service1.CommunicationLayer
-->MyService.Service1.CommunicationLayer.csproj
MyService.Service1.DataAccessLayer
-->MyService.Service1.DataAccessLayer.csproj
MyService.Service1.ServiceLayer
-->MyService.Service1.ServiceLayer.csproj

しかし、次のような構造が必要です: Service1
Communication
-->MyService.Service1.CommunicationLayer.csproj DataAccess
--
>MyService.Service1.DataAccessLayer.csproj
Services
-->MyService.Service1.ServiceLayer.csproj

また、SolutionFolder 名をService1に設定する必要があります。これは、ユーザーが提供するプロジェクトの名前になります。

私が使用している .vstemplate ファイルは次のとおりです。

`<!--Outer .vstemplate file -->
<VSTemplate Version="2.0.0" Type="ProjectGroup"
    xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
  <TemplateData>
    <Name>DataAccessService</Name>
    <Description>Data Access Service Template</Description>
    <ProjectType>CSharp</ProjectType>
    <Icon>__TemplateIcon.ico</Icon>
    <CreateNewFolder>true</CreateNewFolder>
    <ProvideDefaultName >true</ProvideDefaultName>
    <DefaultName>DALService</DefaultName>
  </TemplateData>
  <TemplateContent>
    <ProjectCollection>
        <ProjectTemplateLink ProjectName="MyService.$safeprojectname$.CommunicationLayer">Communication\Communication.vstemplate</ProjectTemplateLink>
        <ProjectTemplateLink ProjectName="MyService.$safeprojectname$.DataAccessLayer">DataAccess\DataAccess.vstemplate</ProjectTemplateLink>
        <ProjectTemplateLink ProjectName="MyService.$safeprojectname$.ServiceLayer">Services\Services.vstemplate</ProjectTemplateLink>
    </ProjectCollection>
  </TemplateContent>
</VSTemplate>`

どんな助けでも大歓迎です。

4

1 に答える 1

1

Ok。だからここに私が見つけた解決策があります:

TemplateWizard を使用して、フォルダー構造をカスタマイズしました。

  1. デフォルトのプロジェクト名とそれを含むフォルダーでプロジェクトを作成します。
  2. TemplateWizard を使用して SolutionFolder を作成します。
  3. ソリューションからプロジェクトを削除します。
  4. 含まれているフォルダーの名前を変更します。
  5. 手順 2 で作成した SolutionFolder にプロジェクトを追加します。

これが同様の問題を抱えている人に役立つことを願っています。

于 2012-06-25T19:35:09.067 に答える