テンプレート パラメーターTemplate parameters

テンプレート内でパラメーターを使用すると、テンプレートがインスタンス化されたときに、テンプレート内の主要な部分 (クラス名や名前空間など) の値を置き換えることができます。By using parameters in your templates, you can replace the values of key portions of the template, such as class names and namespaces, when the template is instantiated. ユーザーが [新しいプロジェクト] ダイアログ ボックスまたは [新しい項目の追加] ダイアログ ボックスで [OK] または [追加] を選ぶと、これらのパラメーターが、バックグラウンドで実行されているテンプレート ウィザードによって置き換えられます。These parameters are replaced by the template wizard that runs in the background when a user chooses OK or Add in the New Project or Add New Item dialog boxes.

テンプレート パラメーターの宣言と有効化Declaring and enabling template parameters

テンプレート パラメーターは、$parameter$ という形式で宣言されます。Template parameters are declared in the format $parameter$. 例:For example:

  • $safeprojectname$$safeprojectname$

  • $guid1$$guid1$

  • $guid5$$guid5$

テンプレートでパラメーター置換を有効にするにはTo enable parameter substitution in templates

  1. テンプレートの .vstemplate ファイル内で、パラメーター置換を有効にする項目に対応する ProjectItem 要素を見つけます。In the .vstemplate file of the template, locate the ProjectItem element that corresponds to the item for which you want to enable parameter replacement.

  2. ReplaceParameters 要素の ProjectItem 属性を true に設定します。Set the ReplaceParameters attribute of the ProjectItem element to true.

  3. プロジェクト項目のコード ファイルで、必要に応じてパラメーターを含めます。In the code file for the project item, include parameters where appropriate. たとえば、次のパラメーターは、ファイル内で名前空間に対して安全なプロジェクト名が使用されることを指定します。For example, the following parameter specifies that the safe project name be used for the namespace in a file:

    namespace $safeprojectname$
    

予約済みのテンプレート パラメーターReserved template parameters

テンプレートで使用できる予約済みテンプレート パラメーターを次の表に示します。The following table lists the reserved template parameters that can be used by any template.

パラメーターParameter 説明Description
clrversionclrversion 共通言語ランタイム (CLR: Common Language Runtime) の現在のバージョン。Current version of the common language runtime (CLR).
guid[1-10]guid[1-10] プロジェクト ファイルでプロジェクト GUID を置き換えるために使用される GUID。A GUID used to replace the project GUID in a project file. 最大 10 個の一意 GUID を指定できます (例: guid1)。You can specify up to 10 unique GUIDs (for example, guid1).
itemnameitemname [新しい項目の追加] ダイアログ ボックスでユーザーが指定した名前。The name provided by the user in the Add New Item dialog box.
machinenamemachinename 現在のコンピューター名 (たとえば、Computer01)。The current computer name (for example, Computer01).
projectnameprojectname [新しいプロジェクト] ダイアログ ボックスでユーザーが指定した名前。The name provided by the user in the New Project dialog box.
registeredorganizationregisteredorganization HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization のレジストリ キー値。The registry key value from HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization.
rootnamespacerootnamespace 現在のプロジェクトのルート名前空間。The root namespace of the current project. このパラメーターは、項目テンプレートにのみ適用されます。This parameter applies only to item templates.
safeitemnamesafeitemname [新しい項目の追加] ダイアログ ボックスでユーザーが指定した名前から、安全でないすべての文字とスペースを削除したもの。The name provided by the user in the Add New Item dialog box, with all unsafe characters and spaces removed.
safeprojectnamesafeprojectname [新しいプロジェクト] ダイアログ ボックスでユーザーが指定した名前から、安全でないすべての文字とスペースを削除したもの。The name provided by the user in the New Project dialog box, with all unsafe characters and spaces removed.
時間time DD/MM/YYYY 00:00:00 の形式で表した現在の時間。The current time in the format DD/MM/YYYY 00:00:00.
SpecificSolutionNameSpecificSolutionName ソリューションの名前。The name of the solution. [ソリューションのディレクトリを作成] がオンになっている場合は、SpecificSolutionName にソリューション名が指定されます。When "create solution directory" is checked, SpecificSolutionName has the solution name. [ソリューションのディレクトリを作成] がオフになっている場合、SpecificSolutionName は空白です。When "create solution directory" is not checked, SpecificSolutionName is blank.
userdomainuserdomain 現在のユーザー ドメイン。The current user domain.
usernameusername 現在のユーザー名。The current user name.
webnamespacewebnamespace 現在の Web サイトの名前。The name of the current Web site. このパラメーターは、Web フォーム テンプレートで一意のクラス名を保証するために使用されます。This parameter is used in the Web form template to guarantee unique class names. この Web サイトが Web サーバーのルート ディレクトリにある場合、このテンプレート パラメーターは Web サーバーのルート ディレクトリとして解決されます。If the Web site is at the root directory of the Web server, this template parameter resolves to the root directory of the Web Server.
year YYYY の形式で表した現在の年。The current year in the format YYYY.

注意

テンプレート パラメーターでは、大文字と小文字が区別されます。Template parameters are case-sensitive.

カスタム テンプレート パラメーターCustom template parameters

パラメーター置換時に使われる既定の予約済みテンプレート パラメーターの他に、独自のテンプレート パラメーターと値を指定できます。You can specify your own template parameters and values, in addition to the default reserved template parameters that are used during parameter replacement. 詳細については、「CustomParameters 要素 (Visual Studio テンプレート)」を参照してください。For more information, see CustomParameters element (Visual Studio templates).

例: ファイル名に対するプロジェクト名の使用Example: Using the project name for a file name

TargetFileName 属性でパラメーターを使うことにより、プロジェクト項目に対して変数ファイル名を指定できます。You can specify variable file names for project items by using a parameter in the TargetFileName attribute.

次の例では、実行可能ファイルの名前でプロジェクト名 ($projectname$ で指定されています) を使うように指定します。The following example specifies that an executable file's name uses the project name, specified by $projectname$.

<TemplateContent>
    <ProjectItem
        ReplaceParameters="true"
        TargetFileName="$projectname$.exe">
            File1.exe
    </ProjectItem>
      ...
</TemplateContent>

例: 名前空間名に対する安全なプロジェクト名の使用Example: Using the safe project name for the namespace name

C# クラス ファイルの名前空間に対して安全なプロジェクト名を使うには、次の構文を使います。To use the safe project name for the namespace in a C# class file, use the following syntax:

namespace $safeprojectname$
{
    public class Class1
    {
        public Class1()
        { }
    }
}

プロジェクト テンプレートの .vstemplate ファイルで、ファイルを参照するときに ReplaceParameters="true" 属性を指定します。In the .vstemplate file for the project template, include the ReplaceParameters="true" attribute when you reference the file:

<TemplateContent>
    <ProjectItem ReplaceParameters="true">
        Class1.cs
    </ProjectItem>
    ...
</TemplateContent>

関連項目See also

テンプレートのカスタマイズCustomizing templates
方法: プロジェクト テンプレートを作成するHow to: Create project templates