调试 SharePoint 解决方案

  • 调试 SharePoint 解决方案

    可以使用 Visual Studio 调试器来调试 SharePoint 解决方案。 启动调试后,Visual Studio 会将项目文件部署到 SharePoint Server,然后在Web 浏览器中打开 SharePoint 网站的一个实例。 以下各节说明如何在 Visual Studio 中调试 SharePoint 应用程序。

        • 启用调试
        • F5 调试和部署过程
        • SharePoint 项目功能
        • 调试工作流
        • 调试功能事件接收器
        • 启用增强的调试信息

    启用调试

    当您首次在 Visual Studio 中调试 SharePoint 解决方案时,将会出现一个对话框,警告您 web.config 文件尚未配置为启用调试。 web.config 文件是在安装 SharePoint Server 时创建的。 有关更多信息,请参见 Working with Web.config Files(使用 Web.config 文件)。此对话框为您提供了两种选项:运行项目而不进行调试;修改 web.config 文件以启用调试。 如果您选择第一个选项,该项目会正常运行。 如果您选择第二个选项,配置 web.config 文件:

        • 启用调用堆栈 (CallStack="true")
        • 禁用 Visual Studio 中的自定义错误 (<customErrors mode="Off" />RemoteOnly
        • 启用编译调试 (<compilation debug="true">)

    生成的 web.config 文件如下所示:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>

        <configuration>

            ...

            <SharePoint>

                <SafeMode MaxControls="200"

                    CallStack="true"

                    DirectFileDependencies="10"

                    TotalFileDependencies="50"

                    AllowPageLevelTrace="false">

                    ...

                </SafeMode>

            ...

            </SharePoint>

            <system.web>

                ...

                <customErrors mode="Off" />

                ...

                <compilation debug="true">

                ...

                </compilation>

                ...

            </system.web>

            ...

        </configuration>

    若要撤消更改并禁用调试,请在 web.config 文件中更改以下 XML

        • 关闭调用堆栈 (CallStack="false")
        • 启用 Visual Studio 中的自定义错误 (<customErrors mode="On" />)  RemoteOnly
        • 禁用编译调试 (<compilation debug="false">)

    F5 调试和部署过程

    在调试模式下运行 SharePoint 项目时,SharePoint 部署过程将执行以下任务:

        • 运行可自定义的预先部署命令。
        • 使用 MSBuild 命令来创建 Web 解决方案包(.wsp) 文件。  .wsp 文件包括所有必要的文件和功能。 有关更多信息,请参见解决方案概述
    1. 如果 SharePoint 解决方案是场解决方案,则回收指定网站 URL IIS 应用程序池。 此步骤将释放 IIS 辅助进程锁定的文件。
    2. 如果已存在早期版本的包,则收回 .wsp 文件中早期版本的功能和文件。 此步骤将停用功能,卸载解决方案包并在SharePoint Server 上删除解决方案包。
    3. 安装 .wsp 文件中当前版本的功能和文件。 此步骤会在 SharePoint Server 上添加和安装解决方案。
    4. 对于工作流,安装工作流程序集。 可以使用 Assembly Location 属性更改程序集的位置。
    5. 如果作用域是网站或 Web,则激活 SharePoint 中的项目功能。 不激活场和 Web 应用程序作用域内的功能。
    6. 对于工作流,将工作流与您在SharePoint 自定义向导”中选择的 SharePoint 库、列表或网站相关联。

 说明

此关联仅当您在该向导中选择“是否自动与工作流关联”时发生。

  1. 运行可自定义的后期部署命令。
  2. 附加 Visual Studio 调试器附加到 Windows SharePoint Services 进程 (w3wp.exe)。如果项目类型允许您更改 Sandboxed Solution 属性,并且其值设置为 true,则调试器会附加到不同的进程 (spucworkerprocess.exe) 有关更多信息,请参见沙盒解决方案注意事项
  3. 如果 SharePoint 解决方案是场解决方案,则启动 JavaScript 调试器。
  4. Web 浏览器中显示相应的库、列表或网站页。

在每个任务完成后,Visual Studio 都会在“输出”窗口中显示状态消息。 如果某个任务无法完成,则 Visual Studio 会在“错误列表”窗口中显示错误消息。

SharePoint 项目功能

功能是一个可移植的模块化功能单元,它通过使用网站定义简化了网站修改工作。 功能还是一个 Windows SharePoint Services (WSS) 元素包,可以在特定的作用域内激活这些元素,以帮助用户完成特定目标或任务。 模板将作为功能进行部署。

在调试模式下运行项目时,部署过程将在 %COMMONPROGRAMFILES%\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES 的功能目录下创建一个文件夹。 功能名称的格式为:项目名称_Featurex,如 TestProject_Feature1

功能目录的解决方案的文件夹中包含一个功能定义文件和一个工作流定义文件。 功能定义文件 (Feature.xml) 在项目的功能。项目定义文件 (Elements.xml) 描述文件描述项目模板。 可在“解决方案资源管理器”中找到 Elements.xml,但 Feature.xml 是在创建解决方案包时生成的。 有关这些文件的更多信息,请参见 SharePoint 项目和项目项模板

调试工作流

在调试工作流项目时,Visual Studio 会将工作流模板(取决于其类型)添加到库或列表中。 然后,您可以通过添加或更新项来以手动方式启动工作流模板。 之后,您可以使用 Visual Studio 调试工作流。

 说明

如果添加对其他程序集的引用,请确保这些程序集安装在全局程序集缓存(GAC) 中。 否则工作流解决方案将失败。 有关如何安装程序集的信息,请参见Manually start a workflow on a document or item(在文档或项上手动启动工作流)。

但部署过程不会启动工作流。 必须从 SharePoint 网站启动工作流。 还可以通过使用客户端应用程序(例如 Microsoft Office Word 2010)或使用单独的服务器端代码来启动工作流。 使用在SharePoint 自定义向导”中指定的某一种方法。

例如,如果您指定可以手动启动工作流,则直接从库或列表中的项启动工作流。 有关如何手动启动工作流的更多信息,请参见 Manually start a workflow on a document item(在文档项上手动启动工作流)。

调试功能事件接收器

默认情况下,在运行 Visual Studio SharePoint 应用程序时,将在 SharePoint Server 上自动为您激活该应用程序的功能。 不过,在调试功能事件接收器时,这会导致问题,原因是当 Visual Studio 激活某个功能时,该功能会在不同于调试器的进程中运行。 这意味着,一些调试功能(如断点)将无法正常工作。

若要在 SharePoint 中禁用功能的自动激活并允许对功能事件接收器进行适当的调试,请在调试之前将项目的“活动部署配置”属性的值设置为“无激活” 然后,在中,在开始调试您在 Visual Studio后的 SharePoint 应用程序,请手动激活 SharePoint 中的功能。 若要激活该功能,请打开 SharePoint 中的 网站操作 菜单上,选择 站点设置,选择 管理网站功能 链接,该功能旁边的按钮,然后选择 激活 继续调试作为普通。

启用增强的调试信息

由于 Visual Studio 进程 (devenv.exe)Visual Studio SharePoint 宿主进程 (vssphost4.exe) SharePoint WCF 层之间的交互有时会很复杂,因此对生成、部署时出现的错误进行诊断会非常困难。 可以通过启用增强的调试信息来帮助您解决此类错误。 为此,请转至 Windows 注册表中的以下注册表项:

[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\SharePointTools]

如果“EnableDiagnosticsREG_DWORD 值已不存在,请手动创建它。 设置“EnableDiagnostics”值为“1 ". "

在将此键值设置为 1 后,只要在 Visual Studio 中运行时出现项目系统错误,“输出”窗口中就会显示堆栈跟踪信息。 若要禁用增强的调试信息,请将 EnableDiagnostics 设置为 0 或删除该值。

有关其他 SharePoint 注册表项的更多信息,请参见  Visual Studio 中调试 SharePoint 工具扩展

 

源文档 <http://msdn.microsoft.com/zh-cn/library/vstudio/ee231550.aspx

转载于:https://www.cnblogs.com/stevegp/p/3590938.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/274850.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ui和ux的区别_UI和UX之间的区别

ui和ux的区别You’ve probably heard a lot of self-proclaimed “UX/UI” designers out there, the word “UI” thrown around endlessly at Apple keynotes, or tech startups saying “we need to fix the UX here and the UX there.”Ÿouve可能听说过很多自称“UX / UI”…

给UIWebView增加搜索栏

在xib文件中拖入UIWebView。使用代码为UIWebView的滚动控件增加搜索栏&#xff1a;UISearchBar* searchBar[[[UISearchBar alloc]initWithFrame:CGRectMake(0, -44, 320, 44)]autorelease];[self.browser.scrollView addSubview:searchBar];self.topBarsearchBar;[[self.browse…

用JS轻松实现一个录音、录像、录屏工具库

大家好&#xff0c;我是若川。持续组织了6个月源码共读活动&#xff0c;感兴趣的可以点此加我微信 ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列前言最…

文本字段和表单设计-UI组件系列

重点 (Top highlight)Forms have existed for a significant amount of time, greatly simplifying the task of drafting complaints and various other legal pleadings. With the advance of information and its processing, means to gather the data are also evolving. …

WCF 第四章 绑定 netMsmqBinding

MSMQ 为使用队列创建分布式应用程序提供支持。WCF支持将MSMQ队列作为netMsmqBinding绑定的底层传输协议的通信。 netMsmqBinding绑定允许客户端直接把消息提交到一个队列中同时服务端从队列中读取消息。客户端和服务端之间没有直接通信过程&#xff1b;因此&#xff0c;通信本 …

React 18 RC 版本发布啦,生产环境用起来!

大家好&#xff0c;我是若川。持续组织了6个月源码共读活动&#xff0c;感兴趣的可以点此加我微信 ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列今天给…

阿拉伯语排版设计_针对说阿拉伯语的用户的测试和设计

阿拉伯语排版设计Let me start off with some data to put things into perspective “Why?”让我从一些数据入手&#xff0c;以透视“为什么&#xff1f;”的观点。 Arabic is the 5th most spoken language worldwide, with 420 million speakers, and is an official lang…

CMMI简介

CMMI&#xff08;Capability Maturity Model Integration&#xff09;即能力成熟度模型集成 什么是CMMI CMMI是CMM模型的最新版本。早期的CMMI&#xff08;CMMI-SE/SW/IPPD&#xff09;1.02版本是应用于软件业项目的管理方法&#xff0c;SEI在部分国家和地区开始推广和试用。随…

SVN:“SVN”不是内部命令,解决方法

1、安装完TortoiseSVN-1.6.16.21511-x64-svn-1.6.17.msi 2、在运行窗口cmd---svn&#xff0c;提示&#xff1a; “SVN” 不是内部命令 郁闷&#xff0c;小有纠结 解决方法&#xff1a;安装Slik-Subversion-1.6.17-x64.msi 命令行窗口关闭&#xff0c;再次打开命令行窗口&#x…

7个月,4000+人,500+源码笔记,诚邀你参加源码共读~

大家好&#xff0c;我是若川。按照从易到难的顺序&#xff0c;前面几期&#xff08;比如&#xff1a;validate-npm-package-name、axios工具函数&#xff09;很多都只需要花2-3小时就能看完&#xff0c;并写好笔记。但收获确实很大。开阔视野、查漏补缺、升职加薪。已经有400笔…

火焰和烟雾的训练图像数据集_游戏开发者是烟雾和镜子的大师

火焰和烟雾的训练图像数据集Video games are incredible. They transport us to new worlds, allow us to partake in otherwise impossible situations, and empower us in our every day lives. Games can make us feel like a part of something bigger than ourselves, per…

平衡树SPLAY

一个比线段树代码还要又臭又长的数据结构&#xff0c;各式各样的函数&#xff0c;咱也不知道别人怎么记住的&#xff0c;咱也不敢问 SPLAY的性质 1.某个节点的左子树全部小于此节点&#xff0c;右子树全部大于此节点 2.中序遍历splay输出的序列是按从小到大的顺序 &#xff08;…

POJ 2696 计算表达式的值

时间限制: 1000ms内存限制:65536kB描述有些语言中表达式的运算符使用字符串表示&#xff0c;例如用mul代表*&#xff0c;用div代表/&#xff0c;用add代表&#xff0c;用sub代表-&#xff0c;用mod代表%。输入第一行为表达式的个数n。其余n行每行一个表达式&#xff0c;表达式由…

为支持两个语言版本,我基于谷歌翻译API写了一款自动翻译的 webpack 插件

大家好&#xff0c;我是若川。持续组织了6个月源码共读活动&#xff0c;感兴趣的可以点此加我微信 ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列本文来…

全球 化 化_全球化设计

全球 化 化重点 (Top highlight)Designing for a global audience can feel daunting. Do you localize your product? Or, do you internationalize your product? And what does that even entail?为全球观众设计可能会令人生畏。 您是否将产品本地化&#xff1f; 还是您将…

springMVC_数据的处理过程

1、DispatcherServlet&#xff1a;作为前端控制器&#xff0c;负责分发客户的请求到 Controller 其在web.xml中的配置如下&#xff1a; <servlet><servlet-name>dispatcherServlert</servlet-name><servlet-class>org.springframework.web.servlet.Dis…

面试体验:Facebook 篇(转)

http://www.cnblogs.com/cathsfz/archive/2012/11/05/facebook-interview-experience.html 2012-11-05 08:20 by Cat Chen, 23266阅读, 121评论, 收藏, 编辑 Google、Microsoft 和 Yahoo 都是去年的事情了&#xff0c;接下来说说今年…

JavaScript 新增两个原始数据类型

大家好&#xff0c;我是若川。持续组织了6个月源码共读活动&#xff0c;感兴趣的可以点此加我微信 ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列JavaS…

axure低保真原型_如何在Google表格中创建低保真原型

axure低保真原型Google Sheets is a spreadsheet, just like Microsoft Excel.Google表格是一个电子表格&#xff0c;就像Microsoft Excel一样。 Most people associate it with calculating numbers. But Google Sheets is actually great for organizing your ideas, making…

Weblogic EJB 学习笔记(3)精

编辑实体bean的高级课程 1. 怎样开发主健类 ejb的主健类主要用做持久存储和ejb容器中的唯一标识符. 通常主健类的字段直接映射到数据库中的主健字段. 如果主健只是由单个实体bean字段组成.且其数据类型是基本的java类.如string,则bean作者不必开发自定义的主健类. 只需要在配置…