什么是可替换参数呢?你可能会在代码里看到像$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>才能正确调用的原因。

可替换参数在SharePoint和VS中的使用的更多相关文章

  1. SharePoint Server 2010 中的基本任务

    SharePoint Foundation 和 SharePoint Server 概述 SharePoint Foundation 2010 是一项用于 SharePoint 网站的基础技术,它可以 ...

  2. [转载]SharePoint 2013 解决方案中使用JavaScript

    作为在SharePoint应用程序中使用JavaScript的第一步,就是要知道如何将一个写好的.js文件,引用到页面上.嗯,你可能觉得这个话题太简单了,"引用一个.js文件不就是在页面上方 ...

  3. 在 SharePoint Server 2013 中配置建议和使用率事件类型

    http://technet.microsoft.com/zh-cn/library/jj715889.aspx 适用于: SharePoint Server 2013 利用使用事件,您可以跟踪用户与 ...

  4. 对SharePoint 2007数据库中一些数据表的使用

    转:http://blog.csdn.net/ma_jiang/article/details/6553392 在工作中接触了一些SharePoint的数据库中的一些表.在此做个总结. 一位高手告诉我 ...

  5. SharePoint 2013/2010 中的日历重合 (Calendars Overlay)

    本文介绍 SharePoint 2013/2010 中的日历重合 (Calendars Overlay). 日历重合 (Calendars Overlay)的用途就是将 不多于10个日历或日历视图聚集 ...

  6. 在SharePoint 2013 场中移除服务器,提示 cacheHostInfo is null 错误

    Problem 在SharePoint 2013 场中移除服务器,提示 cacheHostInfo is null 错误 Resolution 这是由于SharePoint 2013中分布式缓存实例( ...

  7. SharePoint 2013 页面中window/document.onload/ready 事件不能触发的解决方案

    问题1:在SharePoint 2013页面中使用Javascript 事件window/document.onload/ready时,你会发现处理onload/ready事件的代码根本不能执行. 问 ...

  8. 开启SharePoint Server 2013 中的“微博”功能——新闻源

    熟悉SharePoint的朋友在2013之前的版本可以使用社区协作下的记事板.应用程序下的通知,来进行消息的发布,而且更有这两者的完美结合体讨论板,可供使用着根据站点属性进行添加而对现在的快消息时代, ...

  9. SharePoint项目实践中如何实现非打破继承看上去很美的权限控制

    首先对于比较机密的数据,打破继承还是必须要的. 但是对于一些普通申请单据,虽然客户也希望用户不要看到其他人的申请单据,但是我还是不推荐打破继承,应为打破继承一方面会造成网站的权限管理特别的凌乱,另一方 ...

随机推荐

  1. JQuery事件e参数的方法preventDefault()取消默认行为

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  2. IPMI相关漏洞利用及WEB端默认口令登录漏洞

    IPMI相关漏洞 0套件漏洞 使用0套件时,只需要Username,口令任意即可绕过身份鉴别执行指令.而且一般还有一个默认的账户admin或者ADMIN. 备注:IPMI是一套主机远程管理系统,可以远 ...

  3. 心脏滴血HeartBleed漏洞研究及其POC

    一.漏洞原理: 首先声明,我虽然能看懂C和C++的每一行代码,但是他们连在一起我就不知道什么鬼东西了.所以关于代码说理的部分只能参考其他大牛的博客了. /* 据说源码中有下面两条语句,反正我也没看过源 ...

  4. 一、微信小游戏开发 --- 初次在微信开发者工具里跑Egret小游戏项目

    尝试下Egret的小游戏开发,学习,学习,干IT,不学习,就得落后啊... 相关教程: Egret微信小游戏教程 微信公众平台-微信小游戏教程 微信公众平台-微信小游戏接入指南 开发版本: Egret ...

  5. Web和Native使用外部字体ttf方法

    论坛教程:http://bbs.egret.com/forum.php?mod=viewthread&tid=24879&extra=&highlight=%E5%AD%97% ...

  6. JavaScript—文字自动变化为自定义颜色

    效果: JS代码: var ColorTimer; var Colorforn = 0; //颜色代码 var ColorArray = new Array("#00CCCC", ...

  7. java 空间四点定位,可跟据已知的四点坐标(x,y,z)及距离计算所在位置坐标

    public static void main(String args[]) { try{ float point[]=new float[3]; Location loc = new Locatio ...

  8. Android动态添加布局

    //1.利用LayoutInflater的inflate动态加载XML mLinearLayout = (LinearLayout)findViewById(R.id.LinearLayout_ID) ...

  9. Extjs4常见的调试问题

    Extjs4常见的调试问题: 1.fireFn.apply of undefined方法名称对不上 2.新增页面居左解决:页面的宽度和高度需要调整,内容items有问题:或者:layout : 'co ...

  10. 【转】SpringMVC+Spring3+Hibernate4开发环境搭建

    原文地址: SpringMVC+Spring3+Hibernate4开发环境搭建