妖怪幻 发表于 2015-9-26 09:27:38

可替换参数在SharePoint和VS中的使用

  什么是可替换参数呢?你可能会在代码里看到像$SharePoint.Project.AssemblyFullName$一样的标记。VS会在编译的时候用完整的签名来替换相应参数。例如,标记 $SharePoint.Package.Name$ 可能会解析为字符串“Test SharePoint Package”。
  标记规则:

[*]可以在行中的任意位置指定标记。
[*]标记不能跨多个行。
[*]可以在同一行上和同一文件中多次指定同一标记。
[*]可以在同一行上指定不同的标。
  不遵循上述规则的标记将被忽略,而不提供警告或错误。
  在清单转换之后立即用字符串值替换标记,从而允许用户编辑的清单模板使用标记。
  下表列出了可用的标记
  名称
  说明
  $SharePoint.Project.FileName$
  包含项目文件的名称,例如“NewProj.csproj”。
  $SharePoint.Project.FileNameWithoutExtension$
  包含项目文件的名称,不带文件扩展名。 例如“NewProj”。
  $SharePoint.Project.AssemblyFullName$
  包含项目的输出程序集的显示名称(强名称)。
  $SharePoint.Project.AssemblyFileName$
  包含项目的输出程序集的名称。
  $SharePoint.Project.AssemblyFileNameWithoutExtension$
  包含项目的输出程序集的名称,不带文件扩展名。
  $SharePoint.Project.AssemblyPublicKeyToken$
  包含项目的输出程序集的公钥标记(已转换为字符串)。(格式为“x2”十六进制格式,长度为 16 个字符。)
  $SharePoint.Package.Name$
  包含程序包的名称。
  $SharePoint.Package.FileName$
  包含程序包的定义文件的名称。
  $SharePoint.Package.FileNameWithoutExtension$
  包含程序包的定义文件的名称(不带扩展名)。
  $SharePoint.Package.Id$
  包含程序包的 SharePoint ID。 如果在多个程序包中使用功能,则此值将发生更改。
  $SharePoint.Feature.FileName$
  包含功能的定义文件的名称,例如 Feature1.feature。
  $SharePoint.Feature.FileNameWithoutExtension$
  功能定义文件的名称,不带文件扩展名。
  $SharePoint.Feature.DeploymentPath$
  包含包中的功能的文件夹的名称。 此标记等同于功能设计器中的“部署路径”属性。 示例值为“Project1_Feature1”。
  $SharePoint.Feature.Id$
  包含功能的 SharePoint ID。 此标记(与所有功能级别的标记一样)只能通过功能由包含在包中的文件使用,而不直接添加到功能之外的包中。
  $SharePoint.ProjectItem.Name$
  从 ISharePointProjectItem.Name 中获取的项目项的名称(不是其文件名)。
  $SharePoint.Type.<GUID>.AssemblyQualifiedName$
  程序集限定与标记的 GUID 匹配的类型的名称。 GUID 的格式为小写,并与 Guid.ToString("D") 格式(即 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)对应。
  $SharePoint.Type.<GUID>.FullName$
  与标记中的 GUID 匹配的类型的全名。 GUID 的格式为小写,并与 Guid.ToString("D") 格式(即 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)对应。
  默认情况下VS查找这些标记在包文件、清单文件和以下扩展名的文件:
  XML
  ASCX
  ASPX
  Webpart
  DWP(DWP文件为主要与primarily SharePoint Portal Server Dashboard Web Part File (Microsoft Corporation)相关联的游戏文件)
这些扩展名被定义在$ProgramFiles$\MSBuild\Microsoft\VisualStudio\v10.0\SharePointTools文件夹下的Microsoft.VisualStudio.SharePoint.targets文件的<TokenReplacementFileExtensions>元素里。
  你可以添加元素到这个列表里,如<TokenReplacementFileExtensions>ashx</TokenReplacementFileExtensions>。
  这就是为什么我们在SharePoint里添加ashx(一般处理程序)时,需要在项目文件的PropertyGroup结点下添加<TokenReplacementFileExtensions>ashx</TokenReplacementFileExtensions>才能正确调用的原因。
页: [1]
查看完整版本: 可替换参数在SharePoint和VS中的使用