可替换参数在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项目实践中如何实现非打破继承看上去很美的权限控制
首先对于比较机密的数据,打破继承还是必须要的. 但是对于一些普通申请单据,虽然客户也希望用户不要看到其他人的申请单据,但是我还是不推荐打破继承,应为打破继承一方面会造成网站的权限管理特别的凌乱,另一方 ...
随机推荐
- JQuery事件e参数的方法preventDefault()取消默认行为
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- IPMI相关漏洞利用及WEB端默认口令登录漏洞
IPMI相关漏洞 0套件漏洞 使用0套件时,只需要Username,口令任意即可绕过身份鉴别执行指令.而且一般还有一个默认的账户admin或者ADMIN. 备注:IPMI是一套主机远程管理系统,可以远 ...
- 心脏滴血HeartBleed漏洞研究及其POC
一.漏洞原理: 首先声明,我虽然能看懂C和C++的每一行代码,但是他们连在一起我就不知道什么鬼东西了.所以关于代码说理的部分只能参考其他大牛的博客了. /* 据说源码中有下面两条语句,反正我也没看过源 ...
- 一、微信小游戏开发 --- 初次在微信开发者工具里跑Egret小游戏项目
尝试下Egret的小游戏开发,学习,学习,干IT,不学习,就得落后啊... 相关教程: Egret微信小游戏教程 微信公众平台-微信小游戏教程 微信公众平台-微信小游戏接入指南 开发版本: Egret ...
- Web和Native使用外部字体ttf方法
论坛教程:http://bbs.egret.com/forum.php?mod=viewthread&tid=24879&extra=&highlight=%E5%AD%97% ...
- JavaScript—文字自动变化为自定义颜色
效果: JS代码: var ColorTimer; var Colorforn = 0; //颜色代码 var ColorArray = new Array("#00CCCC", ...
- java 空间四点定位,可跟据已知的四点坐标(x,y,z)及距离计算所在位置坐标
public static void main(String args[]) { try{ float point[]=new float[3]; Location loc = new Locatio ...
- Android动态添加布局
//1.利用LayoutInflater的inflate动态加载XML mLinearLayout = (LinearLayout)findViewById(R.id.LinearLayout_ID) ...
- Extjs4常见的调试问题
Extjs4常见的调试问题: 1.fireFn.apply of undefined方法名称对不上 2.新增页面居左解决:页面的宽度和高度需要调整,内容items有问题:或者:layout : 'co ...
- 【转】SpringMVC+Spring3+Hibernate4开发环境搭建
原文地址: SpringMVC+Spring3+Hibernate4开发环境搭建