用SharpDevelop3调试ASP.NET的方法

简介:

最近下载了SharpDevelop,感觉各方面都不错,唯一的缺憾是不能调试ASP.NET。经过几番搜索和试验,终于发现了用它调试ASP.NET的方法。

SharpDevelop现在已经支持创建ASP.NET项目,虽然很多文件类型的编辑器还没有,比如JavaScript,CSS等,但是我觉得这些都不是最重要的,最重要的是要能够进行调试,调试才是开发中的重中之重啊。

新建一个ASP.NET项目,如果选中项目直接按调试的话,会弹出一个错误提示,说不能直接对DLL做调试,如下如所示:

image

怎么办呢?我找到的方法是利用VS2008自带的ASP.NET Development Server,它包含两个文件,WebDev.WebHost.dll 在GAC目录中,WebDev.WebServer.EXE在C:\Program Files\Common Files\Microsoft Shared\DevServer\9.0目录中,利用WebDev.WebServer.exe可以调试ASP.NET程序,VS2008就是用它来进行调试的(使用IIS的项目除外)。

直接运行WebDev.WebServer,可以得到如下的提示,它需要我们提供端口,Web应用的物理路径,以及虚拟路径。

image

接下来可以对SharpDevelop创建的Web项目做一下配置,使其自动调用WebDev.WebServer,操作步骤如下:

  1. 右击Web项目,在弹出的菜单中选择属性;
  2. 选择Debug标签;
  3. 在Shart Action分组中选择Start external program,在右边的文本框中输入WebDev.WebServer.exe所在的地址;
  4. 在Start Options分组中,Command line arguments 输入: /port:8888 /vpath:/WebDebug /path:R:\SharpDevelop\WebDebug,  Working Directory 输入:R:\SharpDevelop\WebDebug

现在直接按F5调试Web项目,可以在任务栏的右下角看到如下提示,说明WebDev.WebServer已经开始运行了。

image

在Page_Load函数中加入如下断点:

image

 

打开浏览器,输入地址http://localhost:8888/webdebug/ 浏览刚才设置断点的页面,可以看到,断点已经起作用了,如下图:

image

到此,已经可以正常的使用SharpDevelop做ASP.NET的调试工作了fingerscrossed

需要注意的是:WebDev.WebHost.dll添加到GAC目录中,否则WebDev.WebServer无法正常运行,如果机器上没有安装VS2008的话,则需要把这个dll添加到gac中,如果已经装了VS,则这个dll就已经在GAC中了。

张志敏所有文章遵循创作共用版权协议,要求署名、非商业 、保持一致。在满足创作共用版权协议的基础上可以转载,但请以超链接形式注明出处。

本博客已经迁移到 GitHub , 围观地址: http://beginor.github.io/

本文转自张志敏博客园博客,原文链接:http://www.cnblogs.com/beginor/archive/2008/09/21/1295187.html ,如需转载请自行联系原作者
相关文章
|
2月前
|
API
【Azure 媒体服务】Media Service的编码示例 -- 创建缩略图子画面的.NET代码调试问题
【Azure 媒体服务】Media Service的编码示例 -- 创建缩略图子画面的.NET代码调试问题
|
2月前
|
SQL 缓存 开发框架
分享一个 .NET EF6 应用二级缓存提高性能的方法
分享一个 .NET EF6 应用二级缓存提高性能的方法
|
12天前
|
开发框架 .NET C#
VSCode开发.net项目时调试无效
【9月更文挑战第22天】在使用 VSCode 开发 .NET 项目时遇到调试问题,可从项目配置、调试配置、调试器安装、运行环境、日志和错误信息等方面排查。确认项目类型及文件配置,检查 `launch.json` 文件及配置项,确保调试器扩展已安装并启用,验证 .NET 运行时版本和环境变量,查看 VSCode 输出窗口和项目日志文件,检查权限及代码错误。若问题仍未解决,可查阅官方文档或社区论坛。
|
29天前
|
自然语言处理 C# 图形学
使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试
使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试
|
3月前
|
Linux C# iOS开发
如何用 WinDbg 调试Linux上的 .NET程序
【7月更文挑战第13天】 1. `dotnet-dump`: Collects process dumps with `dotnet-dump collect -p <process_id>`. 2. `lldb`: Debugs Mono runtime apps on macOS/Linux. 3. **Visual Studio Code**: Remotely debugs .NET via the C# extension. 4. **JetBrains Rider**: Supports remote debugging of .NET on Linux.
|
2月前
|
程序员 数据库
分享 2 个 .NET EF 6 只更新某些字段的方法
分享 2 个 .NET EF 6 只更新某些字段的方法
|
2月前
|
数据库
分享一个 .NET EF 6 扩展 Where 的方法
分享一个 .NET EF 6 扩展 Where 的方法
|
2月前
|
开发框架 前端开发 算法
分享 .NET EF6 查询并返回树形结构数据的 2 个思路和具体实现方法
分享 .NET EF6 查询并返回树形结构数据的 2 个思路和具体实现方法
|
2月前
|
开发框架 中间件 .NET
分享 ASP.NET Core Web Api 中间件获取 Request Body 两个方法
分享 ASP.NET Core Web Api 中间件获取 Request Body 两个方法
|
2月前
|
开发框架 .NET API
如何在 ASP.NET Core Web API 方法执行前后 “偷偷“ 作一些 “坏“ 事?初识 ActionFilterAttribute
如何在 ASP.NET Core Web API 方法执行前后 “偷偷“ 作一些 “坏“ 事?初识 ActionFilterAttribute
下一篇
无影云桌面