默认,在用vs2013开发SharePoint项目时,vs没有提供一般应用程序(.ashx)的项目模板,本文解决此问题。

  1. 以管理员身份启动vs2013,创建一个"SharePoint 2013 - 空项目",名称我保持默认:SharePointProject2。
  2. 选择"部署为场解决方案",结果如下:
  3. 右击"SharePointProject2",选择"添加"----SharePoint 的"Layouts"映射文件夹,结果如下:

  4. 右击Layouts下的SharePointProject2文件夹,选择添加---新建项,选择"应用程序页(仅场解决方案)",修改名称,注意文件扩展名改为:ashx

    效果:

  5. 右击"ApplicationPage1.ashx.designer.cs"选择删除,此文件不是我们必需的。
  6. 修改ApplicationPage1.ashx为如下内容(留意红框中的内容):

<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>

<%@ Assembly Name="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

<%@ WebHandler Class="$SharePoint.Type.be94b0d0-ca37-4783-b8e9-06ba0477a22f.FullName$" %>

  1. 修改ApplicationPage1.ashx.cs内容如下(注意红框中的GUID和上面的GUID要保持一致):

using System;

using System.Web;

using System.Runtime.InteropServices;

namespace SharePointProject2.Layouts.SharePointProject2

{

[Guid("be94b0d0-ca37-4783-b8e9-06ba0477a22f")]

public partial class ApplicationPage1 : IHttpHandler

{

#region IHttpHandler Members

public bool IsReusable

{

get { throw new NotImplementedException(); }

}

public void ProcessRequest(HttpContext context)

{

//throw new NotImplementedException();

context.Response.Write("123");

}

#endregion

}

}

  1. 右击项目名"SharePointProject2",选择"卸载项目",如有提示,请选择"是"来保存项目
  2. 再次右击项目名"SharePointProject2",选择"编辑SharePointProject2.csproj"
  3. 修改如下,然后保存:

    在PropertyGroup节点下面,添加如下:

    <TokenReplacementFileExtensions>ashx</TokenReplacementFileExtensions>

十一.右击项目"SharePointProject2",选择"重新加载项目",注意要关闭我们打开的SharePointProject2.csproj文件。

十二.右击项目"SharePointProject2",选择"部署"。打开浏览器就可以浏览了。

关于GUID的生成,请在vs里,选择"工具"----"创建GUID"

关于上面的"六","七"步,如果不想使用GUID的形式,也可以使用如下方式(去掉红星划掉的部分):

即:把ashx中的Class改为"命名空间.类名"的格式。

如遇报错,请

右击"ApplicationPage1.ashx"选择"属性",然后把"生成操作"改为"内容"。

右击"ApplicationPage1.ashx.cs" 选择"属性",然后把"生成操作"改为"编译"。

关于如何在Visual Studio 2010的SharePoint项目中添加一般应用程序(.ashx),建议安装vs2010插件cks(http://cksdev.codeplex.com/).

当然也可以按上面的方法进行,执行把"六"中的前两行代码改为:

<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>

<%@ Assembly Name="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

参考:

https://cann0nf0dder.wordpress.com/2013/05/22/creating-generic-httphandler-in-sharepoint/

http://www.lifeonplanetgroove.com/adding-and-deploying-generic-handlers-ashx-to-a-sharepoint-2010-visual-studio-project/

https://peakfinders.blogspot.jp/2015/03/adding-and-deploying-generic-handlers.html

http://blog.csdn.net/abrahamcheng/article/details/20490757#

转载于:https://www.cnblogs.com/sygwin/p/6179680.html

Visual Studio 2013 添加一般应用程序(.ashx)文件到SharePoint项目相关推荐

  1. Visual Studio 2013运行C/C++程序

    0 前言 开始学习C/C++了,肯定首先要找一个能运行程序的软件,很多人都有不同的推荐,如devc++.codeblocks,VC++6.0,Visual Studio 20XX,我们本科学习数据结构 ...

  2. Visual studio 2013 添加 GitHub

    转载于:https://www.cnblogs.com/ibgo/p/3551220.html

  3. Visual Studio 2013运行的结果一闪而过

    在Visual Studio 2013中运行一个程序,发现输出结果的窗口DOS一闪而过,解决的办法是通过按Ctrl+F5键来运行程序即可

  4. Visual Studio 2013中因SignalR的Browser Link引起的Javascript错误一则

    众所周知Visual Studio 2013中有一个由SignalR机制实现的Browser Link功能,意思是开发人员可以同时使用多个浏览器进行调试,当按下IDE中的Browser Link按钮后 ...

  5. Microsoft Visual Studio 2012 添加实体数据模型

     Microsoft Visual Studio 2012 添加实体数据模型 1.创建一个web项目 2.添加ADO实体数据模型,如下图: 3.选择 从数据库生成,然后下一步 4.新建连接,如下图: ...

  6. Visual Studio 2013或2015工程属性中包含目录和库目录的添加方法,附加依赖项,相对路径

    参考文章:包含目录.库目录.附加包含目录.附加库目录.附加依赖项之详解 https://blog.csdn.net/u012043391/article/details/54972127 参考文章:V ...

  7. Blend for Visual Studio 2013

    软件开发中为了使设计师和程序员"并行"工作并直接参与到程序的开发中来. 1.在网络程序开发团队中,草图设计后,设计师们可以使用HTML.CSS.JavaScript直接生成UI,程 ...

  8. 如何在Visual Studio中“添加现有项”整个目录结构?

    我有一个独立于任何C#项目的独立文件集,它们位于复杂的嵌套目录结构中. 我想以这种格式将它们添加到我正在处理的ASP.NET Web应用程序中的不同目录中; 同时保留相同的结构. 所以,我将文件夹复制 ...

  9. Visual Studio 2013 Web开发新特性

    微软正式发布Visual Studio 2013 RTM版,微软还发布了Visual Studio 2013的最终版本..NET 4.5.1以及Team Foundation Server 2013. ...

最新文章

  1. 堆、栈、方法区、静态代码块---Java
  2. mysql ssl 登陆_MySQL:SSL远程登录
  3. ajax jsonp请求报错not a function的解决方案
  4. 很多优秀人感觉是:让他实际工作,他可能会考虑得很全面,而答题的时候,他就显得比较马虎,完成要求就算结束...
  5. junit5和junit4_JUnit 5 –条件
  6. web前端细解cookie那些事
  7. redux 思考以及源码解析
  8. javascript执行机制
  9. 大数据有哪些特点和作用
  10. 达观杯文本智能处理(3)
  11. 在Java中,final修饰的类有什么特点
  12. 很火的娇喘整蛊源码(带演示站)
  13. 爱数私有云盘 AnyShare 部署(二)
  14. ArcCatalog不能预览地图服务
  15. 短信api接口的一些使用建议
  16. JSP内置对象response常见用法
  17. 天使投资人讨论区块链投资:区块链虚火还是真火?
  18. 湖北民院OJ 计算球体体积
  19. 新中大服务器端数据库未能连接,新中大服务器数据库未能连接
  20. oracle 分区表,分区索引

热门文章

  1. 登陆SharePoint站点出现service unavailable----Http错误503
  2. 汇编的艺术(01)sizeof operator
  3. PP团队圣经巨著《Application Architecture Guide2.0》14章-数据访问层
  4. 趁着对象泡脚的功夫,我把vueX吃透了
  5. 理解DOM事件流的三个阶段 - Lxxyx的开发笔记 - SegmentFault 思否
  6. vue --- v-text、v-show、v-if、v-else
  7. Linux中的cron计划任务配置详解
  8. VirtualBox虚拟机安装CentOS 7
  9. Spring 3整合Quartz 2实现定时任务(转)
  10. 如何彻底删除SVN中的文件和文件夹(附恢复方法)