可替换参数在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>才能正确调用的原因。

时间: 2024-11-05 00:15:35

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

SharePoint Server 2013 中的爬网最佳做法

了解在 SharePoint Server 2013 中爬网的最佳做法 搜索系统对内容进行爬网,以构建一个用户可以对其运行搜索查询的搜索索引.本文包含有关如何最有效地管理爬网的建议. 本文内容: 使用默认内容访问帐户对大部分内容进行爬网 有效使用内容源 对用户配置文件进行爬网,然后再对 SharePoint 网站进行爬网 使用连续爬网确保搜索结果为最新 使用爬网规则排除已爬网的不相关的内容 对 SharePoint Web 应用程序的默认区域进行爬网 降低对 SharePoint 爬网目标进行爬

在SharePoint 2010系统中安装RBS FILESTREAM Provider

这两天在研究怎么写一个RBS Provider,可惜文档实在是很缺乏,基本上除了一篇Spec之外,就只有SQL产品组写的一个sample了.之后如果研究有结果,再整理成文章吧,现在先讲讲怎么直接安装并使用RBS FILESTREAM Provider.     -------------- 胡言乱语与正文的分隔线 --------------------     如果使用SharePoint 2007作为文档管理平台,它很让人诟病的一点就是,SharePoint 2007将文件本身直接存储在SQ

Sharepoint在Event中修改字段数据

摘要:Sharepoint在Event中修改字段数据 public override void ItemUpdating(SPItemEventProperties properties) { try { string newFieldValue = GetNewFieldValue(); object oldFieldValue = properties.AfterProperties[COLUMN_NAME]; if (oldFieldValue == null || oldFieldVal

Sharepoint client model 中出现Cannot invoke HTTP DAV request. There is a pending query 的解决办法

由于近期在某项目中使用sharepoint client 对象模型做项目 在sharepoint 2010环境下正常,但迁移到sharepoint 2013后报错,提示如下 Cannot invoke HTTP DAV request ,there is a pending query 后经过查询微软官网提示说 这是由于客户端已经挂起了上下文请求, 于是处理如下 在报错代码前面添加 if(clientext.HasPendingRequest) { clienttext.ExecuteNoque

sharepoint搭建过程中遇到的问题总结

1.在第一次使用windows server2003搭建sharepoint平台时,新建应用程序总是无法创建,在新建应用程序时点击“确定”没有任何反应.解决办法更改系统时间,可能是因为有些dll文件对系统时间有要求. 2.在配置短信提醒服务时,如果不成功可能是证书错误,一定要选择最顶层的证书. 3.user profile service application一定要先启动,网上很少有一次启动成功的,可能需要重新安装.如果这个服务配置不成功,后续将无法读到域用户电话和更改后的邮箱. 4.info

【SharePoint】SharePoint2013中使用客户端对象模型给用户控件赋初值

本文要实现的功能:新建一条列表记录,打开新建记录画面时,自动给[申请人]赋值为当前登录用户. 在SharePoint2010中,可以使用SPServices的SPFindPeoplePicker方法来设定用户选择控件的值. 其中SPGetCurrentUser用来取得当前登录的用户名. $().SPServices.SPFindPeoplePicker({ peoplePickerDisplayName: "申请人", valueToSet: $().SPServices.SPGetC

【转】在SharePoint Server 2010中更改&ldquo;我的网站&rdquo;

在安装SharePoint Server 2010的时候,创建的第一个站点是一个"NetBIOS名称"的网站,而这个时候,"我的网站"(或称"个人网站"),也是基于此NetBIOS名称的,例如,如果你的计算机名称是SP2010,则创建的SharePoint网站是http://sp2010,而"我的网站"则是"http://sp2010/my",如果用防火墙(例如ISA Server)将此网站发布到Inter

Office 365 – SharePoint 2013 Online 中添加域和域名

1.在SharePoint Online管理中心,点击菜单上的添加域,如下图: 2.进入管理域的页面,点击添加域来添加我们自己的域名,如下图: 3.进入"在 Office 365中添加新域"的向导,跟随向导添加新域即可,如下图: 4.输入我们想要使用的域,特别的,这个域名需要我们提前申请下来,之前我已经在万网申请了这个域名,不是随便输入的,如下图: 5.添加TXT(或改MX记录也行)记录,证明拥有此域名,是一个必须的过程,如下图: 6.去万网的域名管理中,添加一个TXT记录(特别的,如

Office 365 - SharePoint 2013 Online 中创建母版页

1.登陆SharePoint Online站点,点击右上角的设置按钮,如下图: 2.点击进入网站设置,到下面两个地方开启SharePoint Server 发布基础架构: 网站集管理 – 网站集功能 网站操作 – 管理网站功能 3.用SharePoint Designer 2013打开SharePoint Online站点,如下图: 4.Designer打开SharePoint Online站点,拷贝西雅图母版页并同时重命名为Home,如下图: (注:如果遇到复制或者签入签出错误,可以断开htm