首页 / 知识
如何使调试 ASP.NET Sharepoint 应用程序的过程更耗时?
2023-04-13 11:18:00

How to make the process of debugging ASP.NET Sharepoint applications less time consuming?我比较的是 Java,您可以在其中以调试模式启动应用程序服务器,然后将 IDE 附加到服务器。您可以"即时"更改代码,而无需重新启动服务器。只要您的更改不影响任何方法签名或字段,您就可以重新编译一个类,应用程序服务器(servlet 容器)将重新加载该类。 我想这在 ASP.NET 中是不可能的,因为所有类都被打包到程序集中,你不能卸载/重新加载程序集,对吗? 因此,当您将 .aspx 页面和程序集部署到 GAC 并且您的代码隐藏更改时,您必须重新部署程序集并重置 IIS。我特别在谈论 Sharepoint 应用程序,我不确定您是否必须为私有程序集执行 iisreset,但我想您也必须这样做。 因此,我猜想调试带有代码隐藏的 aspx 页面的最佳方法是在主动调试期间摆脱代码隐藏并移入页面,然后在或多或少工作时将其移回代码隐藏。 (这仅适用于 Sharepoint 中的应用程序页面,站点页面不允许内联代码) 您如何处理 ASP.NET 应用程序的调试以减少耗时? 来自 Matt Smiths 关于如何使用 sharepoint 进行 F5 调试的博客。一个很酷的技巧。 是的,私有程序集不需要重置 IIS。因此,您应该将新版本 xcopy 到应用程序的 Bin 目录并刷新页面(例如,像我一样通过 VS post build 事件)。
顺便说一句。我不建议这样部署。它只是舒适的写测试调试周期长度的解决方法。 如果您使用的是 GAC,您至少可以使用 首先,在运行 SharePoint 的计算机上进行开发。最好,这意味着在 Virtual PC 或 VMWare 上运行 Windows Server 2003。这将使您可以直接部署和调试 SharePoint 代码,而不必在服务器之间复制文件并使用远程调试器。 使用 VS 插件来简化部署和调试过程。我一直在使用 WSPBuilder,但我认为还有其他的。 WSPBuilder 具有部署解决方案、将它们打包为 WSP 并将调试器附加到本地 IIS 进程的命令。它不允许您即时添加/删除程序集,但您可以设置断点并通过 VS 中的即时窗口运行代码。 根据您的生产服务器的配置方式,通常最好在具有完全/信任安全设置的服务器上进行开发,包括在 ASPX 文件中禁止代码块。这使调试变得更加困难,但它减少了当您的代码最终部署到生产环境时您会遇到的令人讨厌的意外的数量。 您似乎正在尝试告诉 Sharepoint"当我在 Visual Studio 中开始调试时,请使用在项目的 /bin/debug 目录中编译的 DLL 版本,而不是在 GAC 中注册的 DLL 版本。" 我还没有解决这个问题,但这是我调试 Sharepoint 的方法。 开发者机器是安装了 Win2008、IIS 7、MOSS 2007、VisStudio 2008 和 WSP Builder。在VS2008里面,增加了一个按钮附加到w3p.exe进程,Andrew\\'s HOWTO attach to w3p 解决方案文件有两个项目: 如果您希望定期将 DLL 复制到 GAC,请将构建后事件添加到从 /bin/Debug 复制到 GAC 的 DLL 项目中。但是,这些天来,我发现我刚刚重新编译解决方案,然后使用菜单项部署 .WSP,然后使用按钮启动调试器。我的大多数项目都需要一个 F 键和 3 次点击,大约需要一分钟,但我想它可能会更快。 WSPBuilder Extensions 有一个"部署到 GAC"的快捷方式,不幸的是它对我不起作用。但它是一种非常快速的代码编译测试方法。 如果您没有使用 WSPBuilder 扩展,您可以改为打开命令提示符并运行 gacutil /u yourassemblynamegoeshere 如果您经常这样做,您可以将其放在构建后事件或批处理文件中。另外,我不清楚是否需要 gacutil /u(首先删除 DLL)。 使用自动化测试框架 (NUnit) 编写集成测试。这并不适用于所有情况,但当然,这取决于您要测试的内容。 如果您还安装了 TestDriven.NET,则可以使用调试器运行单独的测试。这很有帮助。
如果您创建一个网站项目(与 Web 应用程序项目相对),您可以使用 ASP.net 完成此操作。使用网站项目,您可以将更改发布到代码隐藏,而无需刷新服务器上的任何内容,并且服务器会为您完成所有代码更改的编译工作。有关这方面的更多信息,请参见此处。 这也应该可以解决您在将程序集部署到 GAC 时遇到的困难。由于服务器处理网站项目的所有编译,因此您不必在更改文件时重新部署任何程序集。 |
最新内容
相关内容
python调试的几种方式
python调试的几种方式,代码,位置,信息,状态,培训,数据,分析,变量,函数,方式,python作为一种脚本语言,很多时候我们习惯于它的简洁,习惯于它的修Python编程中的反模式
Python编程中的反模式,代码,时间,活跃,部门,标准,培训,模式,复杂度,初学者,错误,python是时下最热门的编程语言之一了。简洁而富有表达力的语python文件打开模式
python文件打开模式,观点,数据,文件,权威,管理,系统,名称,资料,培训,模式,我们先来看下在Python、PHP和C语言中打开文件的函数定义Python#Pyt命令行模式和Python交互模式
命令行模式和Python交互模式,代码,统一,地方,通用,工作,数字,培训,管理,整数,字符串,在Windows开始菜单选择“命令提示符”,就进入到命令行模Python可以做桌面应用程序吗
Python可以做桌面应用程序吗,平台,系统,较大,标准,培训,界面,桌面,文档,入门,开发者,python可以做桌面应用程序!目前比较主流的几个GUI平台:1cmd无法实现启动python怎么办?
cmd无法实现启动python怎么办?,系统,培训,电脑,环境变量,变量,方法,问题,引号,结尾,属性,cmd无法实现启动python,原因是环境变量的问题。设置环pythonmac如何启动python脚本
pythonmac如何启动python脚本,培训,脚本,文件,终端,权限,以上,目录,更多,内容,mac下执行python脚本主要分为以下四步:首先,在python文件里首行python怎样启动python程序运行
python怎样启动python程序运行,代码,环境,项目,工具,培训,业务,有限,程序,源文件,功能,执行Python程序的三种方式解释器——python/python3交python实现线程安全的单例模式
python实现线程安全的单例模式,培训,线程,模式,python有哪些设计模式?
python有哪些设计模式?,设计,策略,工厂,系统,代码,统一,培训,模式,软件,通信,设计模式大家一定很熟悉,它是一套被反复使用、多数人知晓的、经过python如何启动idle
python如何启动idle,培训,代码,环境,窗口,以上,方式,结果,程序,更多,内容,python自带的集成开发环境为ide,打开ide的方式为开始->程序->Pythonpython怎么实现模式匹配
python怎么实现模式匹配,培训,时间,代码,算法,字符,模式,复杂度,向量,空间,两个,python通过BF算法实现关键词匹配,BF算法,即暴风(BruteForce)算