博客地址:http://blog.csdn.net/FoxDave

前几篇我们介绍了开发、部署和调试SharePoint应用程序的基础,本篇介绍更实用的操作,当我们开发一个SharePoint应用程序之后,如何发布它呢?

我们有两个途径发布我们的APP:发布到公共的Office商店,SharePoint可以通过在线查找商店中的应用进行安装;发布到内部组织的应用程序目录,这样SharePoint组织内的用户可以安装该APP。

发布到Office商店

发布到Office商店需要先进行注册卖方仪表板账户,上传到Office商店的应用微软会执行一系列的检查,确保上传的应用程序符合内容和行为准则,比如,它会检查清单目录标记是否完整有效,是否包含不允许的元素,应用的范围等等,如果通过检查,会打包成一个由微软签名的应用程序包。

上传到Office商店时,可以选择要提供给下载它的用户的许可证的条款:免费、试用或其他方式,按用户还是网站来提供。

SharePoint不强制实施应用程序使用的许可条款,而是提供了一个许可框架,我们可以在APP中包含代码逻辑来强制实施许可限制。比如,我们可以针对用户的付费情况来启用或禁用APP中的某些功能。

发布到应用程序目录

专用应用程序目录是SharePoint 2013Web应用程序中的一个专用网站集合,用来承载SharePoint APP的文档库。将目录放在自己的站点集合中更便于Web应用程序管理员来限制该目录的权限。

将SharePoint APP上传到企业应用程序目录就像上传文件到文档库一样。上传到应用程序目录的APP也会进行类似的检查,如果不能通过检查,APP会标记为无效或被禁用。

如何确定我们的APP要发布到哪里呢?下面的表格供我们参考:

Office商店 应用程序目录
应用程序公开可用 对此SharePoint部署具有访问权限的用户可使用应用程序
许可框架可用 许可框架不可用
应用程序包由微软进行技术和内容政策验证 在上传应用程序时由SharePoint执行应用程序包的验证
必须向微软卖方仪表板注册才能上传应用程序 不需要向微软注册

更多信息

本篇我们来发布到内部的应用程序目录上

首先在我们我们的测试Web应用程序上创建一个应用程序目录网站集:管理中心->应用程序->管理应用程序目录。

选定默认的创建新的应用程序目录网站,点击确定按钮。

如图所示填写信息,完成应用程序目录网站集的创建。

下面我们来具体看看如何发布我们的SharePoint APP。

SharePoint-hosted APP

此类SharePoint APP比较简单,没有外置的程序,我们只需要将应用程序包拿出来上传到SharePoint中即可,具体操作下面进行阐述。

我们打开之前的Hello World应用程序,右键点击项目节点,选择发布,点击打包应用程序按钮。

打包完成后会弹出APP包所在位置。

接下来到应用程序目录网站,点击左侧导航适用于SharePoint的应用程序,将打包的APP文件拖到该文档库里。

这样我们就发布好了这个应用程序。接下来我们浏览当前Web应用程序下的一个普通的网站。点击右上角的菜单,添加应用程序,左侧导航处选择来自您的组织分组。

点击应用程序图标,点击添加按钮,选择信任它,完成添加。


Provider-hosted APP

这种类型的APP由于有外置的Web应用程序,在以上步骤之前,我们需要先做一些准备工作,篇幅有限不细说了,但请仔细阅读(修改代码那里貌似可以忽略)。关于发行者ID和客户端ID,实际的环境中一般是多个APP共用一个发行者ID,我们这里只是用于测试,所以就将发行者ID设置为跟客户端ID一样的了。

然后我们先发布Web应用程序。

打开之前的SharePoint APP项目,右键点击Web应用程序项目节点,选择发布。在配置文件标签页,点击下拉框的新建配置文件,取一个名称,我们这里取作ProviderAPPWebConfig。(在发布之前先到IIS里面创建一个HTTPS类型的网站)

发布完成之后,再操作SharePoint APP项目,右键项目节点,选择发布,点击打包应用程序按钮,会弹出向导。

点击完成开始打包,打包成功之后同样会看到打完包的APP文件,跟上面一样,我们将它传到应用程序目录,然后添加到要使用的网站就可以了。

本篇完成了有几天了,迟迟没有发布是因为一直遇到问题,比如An error occurred...、拒绝访问等错误,尝试了几遍,总结出来的还是我上面说的,一定要仔细,ClientID和IssuerID一定要都对应上,认真检查,耐心些,问题会解决的。

最后附上调试时获取指定APP Pool的批处理

c:\windows\system32\inetsrv\appcmd list wp
pause




SharePoint 2013 开发——发布SharePoint应用程序的更多相关文章

  1. SharePoint 2013 开发——工作流架构

    博客地址:http://blog.csdn.net/FoxDave SharePoint 2013的工作流较之前有了不同,第一次真正地作为独立的服务的概念推出了.这意味着SharePoint工作流不再 ...

  2. SharePoint 2013 开发——概述

     博客地址:http://blog.csdn.net/FoxDave 近来阅读SharePoint 2013开发一书,带着与大家一起分享其中的内容. 部署场景: 本地部署(On-Premise D ...

  3. BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 SharePoint中基于Web开发

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 SharePoint中基于Web开发         之前提到过, ...

  4. SharePoint 2013 开发——SharePoint Designer 2013工作流

    博客地址:http://blog.csdn.net/FoxDave SharePoint Designer 2013为开发者和高级用户提供了两种创建定制工作流的模式: 基于文本的设计器--即我们一直 ...

  5. 从SharePoint 2013迁移到SharePoint Online - 评估工具

    博客地址:http://blog.csdn.net/FoxDave 今天想跟大家分享一款从SharePoint 2013迁移到SharePoint Online时的评估工具:SharePoint ...

  6. SharePoint 2013开发入门探索(一)- 自定义列表

    在SharePoint 2013中创建自定义列表的方式有很多,在网站内容页面添加应用程序就可以创建(站点内容-〉 您的应用程序),也可以通过SharePoint Designer 2013创建,而本文 ...

  7. SharePoint 2013 开发教程

    做了SharePoint有三年了,大家经常会问到,你的SharePoint是怎么学的,想想自己的水平,也不过是初级开发罢了.因为,SharePoint开发需要接触的东西太多了,Windows操作系统. ...

  8. sharepoint 2013 开发环境安装

    Sharepoint 介绍 Sharepoint 可以帮助企业用户轻松完成日常工作中诸如文档审批.在线申请等业务流程,同时提供多种接口实现后台业务系统的集成,它将 Office 桌面端应用的优势结合 ...

  9. SharePoint 2013开发入门探索(二)- 列表操作

    我们如何用代码对SharePoint列表做些例如增删改查的操作呢?如果您的程序可以部署到服务器上,就可以使用 服务器对象模型,因为服务器对象模型提供的功能最多,限制最少:否则可能要选择客户对象模型等其 ...

随机推荐

  1. commonJS — 日期操作(for Date)

    for Date github: https://github.com/laixiangran/commonJS/blob/master/src/forDate.js 代码 /** * Created ...

  2. c++ string 与 char 互转 以及base64

    c++ string 与 char 互转 很简单如下 ] = {'A','B','C','D','E'}; printf("%s\n",bts); //char to string ...

  3. iOS高性能图片架构与设计

    版权声明:本文由柯灵杰原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/157 来源:腾云阁 https://www.qclo ...

  4. eclipse 新建 maven 项目 步骤(初级入门新手)

    安装 maven(百度) 和在eclipse 中svn(上一篇) 修改 maven 本地仓库 eclipse 属性 maven--> installations-->添加新的 自定义安装的 ...

  5. java中身份证号15位转18位

    /** * 将15位转换为18位 * @param idCode 15位身份证号 * @return String 18位身份证号 */ public String toEighteen(String ...

  6. 设置pictureBox的边框颜色

    private void pictureBox2_Paint(object sender, PaintEventArgs e) { PictureBox p = (PictureBox)sender; ...

  7. [bootstrap] bootstrap 简介和相关网址

    Bootstrap 来自 Twitter,是目前很受欢迎的前端框架. 基于 HTML.CSS.JAVASCRIPT ,简洁灵活,使 Web 开发更加快捷. Bootstrap提供了优雅的HTML和CS ...

  8. org.springframework.web.servlet.PageNotFound No mapping found for HTTP request with URI [/AssetRepair/assetRepairController/test.do] in DispatcherServlet with name 'assetrepair'

    web.xml文件配置: xxx-servlet.xml 我们可以发现DispatcherServlet会处理"jsp"后缀的请求;而模型视图后缀也是jsp的 如果这样配置会报以下 ...

  9. python获取文件的内容

  10. 《Play for Java》学习笔记(二)基本的CRUD应用

    注解:  CRUD——Create,Retrieve, Update, Delete 文件结构