我为什么要这个? < - 随意跳过这一部分. 我通常开发/调试Web应用程序的方法是启动浏览器并浏览应用程序,直到我到达我想要的页面(可能有很多页面.)我不希望通过这些步骤附加调试器以用于各种原因(它比没有连接慢,可能会遇到无关的断点,我可能会在“抛出”打开时打破,并且在处理错误被抛出时不想在应用程序中提前中断等等…) 我导航到我想要的页面,然后使用Visual Studio菜单调试>附加到Process,然后从Attach to Process对话框中,我必须一直向下滚动(页面和页面以及进程页面),直到找到我想要的WebDev.WebServer40.EXE进程并选择它.
这样做让我把手从键盘上移开并使用鼠标(我通常会尽量避免使用鼠标.)
这样做似乎是不必要的重复,因为如果我正在调试ASP.Net Web应用程序,我总是想附加到WebDev.WebServer40.exe的实例.
解决方法
转到工具>宏>宏IDE
添加一个新模块并使用此代码(时髦的注释用于语法高亮)
Imports System Imports EnvDTE Imports EnvDTE80 Imports EnvDTE90 Imports EnvDTE90a Imports EnvDTE100 Imports System.Diagnostics Imports System.Collections.Generic Public Module AttachingModule Sub AttachToAspNET() Try Dim process As EnvDTE.Process Dim listProcess As New List(Of String) '' // uncomment the processes that you'd like to attach to. I only attach to cassini '' // listProcess.Add("aspnet_wp.exe") '' // listProcess.Add("w3wp.exe") listProcess.Add("webdev.webserver") For Each process In DTE.Debugger.LocalProcesses For Each procname As String In listProcess If process.Name.ToLower.IndexOf(procname) <> -1 Then process.Attach() End If Next Next Catch ex As System.Exception MsgBox(ex.Message) End Try End Sub End Module
点击文件>关闭并返回
点击工具>选项
点击环境>键盘
我把宏放在MyMacros中,所以我在“Show Commands Containing”文本框中查找“Macros.MyMacros.AttachingModule.AttachToAspNET”.
我更喜欢使用Ctrl Alt D,但在“按快捷键”文本框中输入您想要的任何内容,然后单击“分配”,然后单击“确定”
现在,您只需按Ctrl Alt D即可附加到所有cassini实例.
我已经在互联网上看到了各种版本,而this是我发现的最新版本.我不得不稍微修改一下以删除额外的Web进程并从WebDev.WebServer.exe中删除.exe,以便调试.net 4.0的cassini实例.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。