템플릿 매개 변수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. 사용자가 새 프로젝트 또는 새 항목 추가 대화 상자에서 확인 또는 추가를 선택하면 이러한 매개 변수가 백그라운드에서 실행되는 템플릿 마법사로 바뀝니다.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

템플릿 매개 변수는 $매개 변수$ 형식으로 선언됩니다.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(공용 언어 런타임)의 현재 버전입니다.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.
사용자 이름username 현재 사용자 이름입니다.The current user name.
webnamespacewebnamespace 현재 웹 사이트의 이름입니다.The name of the current Web site. 이 매개 변수는 고유한 클래스 이름을 보장하기 위해 웹 양식 템플릿에서 사용됩니다.This parameter is used in the Web form template to guarantee unique class names. 웹 사이트가 웹 서버의 루트 디렉터리에 있으면 이 템플릿 매개 변수는 웹 서버의 루트 디렉터리를 확인합니다.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