可替换参数在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>才能正确调用的原因。
可替换参数在SharePoint和VS中的使用的更多相关文章
- SharePoint Server 2010 中的基本任务
SharePoint Foundation 和 SharePoint Server 概述 SharePoint Foundation 2010 是一项用于 SharePoint 网站的基础技术,它可以 ...
- [转载]SharePoint 2013 解决方案中使用JavaScript
作为在SharePoint应用程序中使用JavaScript的第一步,就是要知道如何将一个写好的.js文件,引用到页面上.嗯,你可能觉得这个话题太简单了,"引用一个.js文件不就是在页面上方 ...
- 在 SharePoint Server 2013 中配置建议和使用率事件类型
http://technet.microsoft.com/zh-cn/library/jj715889.aspx 适用于: SharePoint Server 2013 利用使用事件,您可以跟踪用户与 ...
- 对SharePoint 2007数据库中一些数据表的使用
转:http://blog.csdn.net/ma_jiang/article/details/6553392 在工作中接触了一些SharePoint的数据库中的一些表.在此做个总结. 一位高手告诉我 ...
- SharePoint 2013/2010 中的日历重合 (Calendars Overlay)
本文介绍 SharePoint 2013/2010 中的日历重合 (Calendars Overlay). 日历重合 (Calendars Overlay)的用途就是将 不多于10个日历或日历视图聚集 ...
- 在SharePoint 2013 场中移除服务器,提示 cacheHostInfo is null 错误
Problem 在SharePoint 2013 场中移除服务器,提示 cacheHostInfo is null 错误 Resolution 这是由于SharePoint 2013中分布式缓存实例( ...
- SharePoint 2013 页面中window/document.onload/ready 事件不能触发的解决方案
问题1:在SharePoint 2013页面中使用Javascript 事件window/document.onload/ready时,你会发现处理onload/ready事件的代码根本不能执行. 问 ...
- 开启SharePoint Server 2013 中的“微博”功能——新闻源
熟悉SharePoint的朋友在2013之前的版本可以使用社区协作下的记事板.应用程序下的通知,来进行消息的发布,而且更有这两者的完美结合体讨论板,可供使用着根据站点属性进行添加而对现在的快消息时代, ...
- SharePoint项目实践中如何实现非打破继承看上去很美的权限控制
首先对于比较机密的数据,打破继承还是必须要的. 但是对于一些普通申请单据,虽然客户也希望用户不要看到其他人的申请单据,但是我还是不推荐打破继承,应为打破继承一方面会造成网站的权限管理特别的凌乱,另一方 ...
随机推荐
- 从一个多项目Web工程看Eclipse如何导入Gradle项目
这里再次说一下为什么我们需要熟悉Gradle构建工具,主要原因就是很多开源项目现在都在改用Gradle作为构建工具.一部分的github上的示例代码也在用Gradle构建,如果还是只能用maven,那 ...
- jquery收集表单数组及去掉字符串最后的逗号!
jquery收集表单数组: <input type='text' name='one[]' value='' /><br> <input type='text' name ...
- 修改js confirm alert 提示框文字
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 传智播客微金所项目实战移动web开发
1.源码笔记 我的源码+笔记(很重要):链接: http://pan.baidu.com/s/1kULKqcJ 感谢传智播客项目相关视频:1.6天 链接: https://pan.baidu.com/ ...
- ubuntu16.04下用笔记本摄像头和ROS编译运行ORB_SLAM2的单目AR例程
要编译ORB_SLAM2的ROS例程首先需要安装ROS,以及在ROS下安装usb_cam驱动并调用,最后搭建ORB_SLAM2. 1.ROS的安装 我的电脑安装的是ubuntu16.04系统,所以我安 ...
- flask源码剖析--请求流程
想了解这篇里面的内容,请先去了解我另外一篇博客Flask上下文 在了解flask之前,我们需要了解两个小知识点 偏函数 import functools def func(a1,a2): print( ...
- JS模块化方案
- Agent XPs disable
问题 有一天,我们发现SQL Server代理程序在SSMS“SQL Server代理程序(Agent XPs已禁用)”中为我们的SQL Server实例之一停止了以下消息,但该服务正在根据服务控制台 ...
- 设置XShell快捷键 复制粘贴 并禁用智能选择
设置XShell快捷键 复制粘贴 并禁用智能选择 1打开选项 2键盘和鼠标->打开编辑 3新建 组合键 Ctrl+C 类型:菜单 ->操作 [编辑]复制 [编辑]粘贴 4选中 ctrl+ ...
- Django Rest Framework(2)-----序列化详解(serializers)
REST framework中的序列化类与Django的Form和ModelForm类非常相似.我们提供了一个Serializer类,它提供了一种强大的通用方法来控制响应的输出,以及一个ModelSe ...