若要了解有关 Visual Studio 2017 RC 的最新文档,请参阅 Visual Studio 2017 RC 文档。
在对模板进行实例化时,您可以通过模板的参数,替换模板的关键部分的值,如类名和命名空间。 当用户在“新建项目”或“添加新项”对话框中单击“确定”时,这些参数将由后台运行的模板向导替换。
模板参数以 $parameter$ 格式进行声明。 例如:
ProjectItem
元素。ProjectItem
元素的 ReplaceParameters
特性设置为 true
。
1 |
namespace $safeprojectname$ |
下表列出了可供所有模板使用的保留的模板参数。
说明 |
---|
模板参数区分大小写。 |
Parameter | 描述 |
---|---|
clrversion |
公共语言运行时 (CLR) 的当前版本。 |
GUID [1-10] |
用于替换项目文件中的项目 GUID 的 GUID。 最多可以指定 10 个唯一的 GUID(例如,guid1) )。 |
itemname |
用户在添加新项对话框中提供的名称。 |
machinename |
当前的计算机名称(例如,Computer01)。 |
projectname |
用户在新建项目对话框中提供的名称。 |
registeredorganization |
HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization 中的注册表项值。 |
rootnamespace |
当前项目的根命名空间。 此参数仅适用于项目模板。 |
safeitemname |
用户在“添加新项”对话框中提供的名称,名称中移除了所有不安全的字符和空格。 |
safeprojectname |
用户在“新建项目”对话框中提供的名称,名称中移除了所有不安全的字符和空格。 |
time |
以 DD/MM/YYYY 00:00:00 格式表示的当前时间。 |
SpecificSolutionName |
解决方案的名称。 当“创建解决方案的目录”被选中,SpecificSolutionName 具有解决方案的名称。 当“创建解决方案的目录”没有被选中,SpecificSolutionName 是空。 |
userdomain |
当前的用户域。 |
username |
当前的用户名。 |
webnamespace |
当前网站的名称。 在 Web 窗体模板中使用此参数以确保类名称是唯一的。 如果网站位于 Web 服务器的根目录下,则此模板参数将解析为 Web 服务器的根目录。 |
year |
以 YYYY 格式表示的当前年份。 |
除了在参数替换过程中自动使用的保留模板参数外,还可以指定您自己的模板参数和值。参见详细信息,请看CustomParameters 元素(Visual Studio 模板)
可以使用具有 TargetFileName
特性的参数为项目项指定变量文件名。 例如,可以指定 .exe 文件使用 $projectname$
所指定的项目名称作为文件名。
1 2 3 4 5 6 7 8 |
<TemplateContent> <ProjectItem ReplaceParameters="true" TargetFileName="$projectname$.exe"> File1.exe </ProjectItem> ... </TemplateContent> |
若要将项目名称用于 Visual C# 类文件 Class1.cs 中的命名空间,请使用下面的语法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#region Using directives using System; using System.Collections.Generic; using System.Text; #endregion namespace $safeprojectname$ { public class Class1 { public Class1() { } } } |
在项目模板的 .vstemplate 文件中,在引用 Class1.cs 文件时请包括以下 XML:
1 2 3 4 5 6 |
<TemplateContent> <ProjectItem ReplaceParameters="true"> Class1.cs </ProjectItem> ... </TemplateContent> |