VS 2003 - IDE 永远不会遇到断点
Posted
技术标签:
【中文标题】VS 2003 - IDE 永远不会遇到断点【英文标题】:VS 2003 - The IDE never hits a breakpoint 【发布时间】:2014-10-13 20:39:01 【问题描述】:我有一个相当旧的 VS 2003 Web 应用程序,我终于能够通过 F5 运行它。但是,IDE 不会在任何断点处中断。
我认为这与配置有关。以前,当我拉起项目的属性并进入 Configuration Properties/Debugging 时,只有 Enable ASP Debugging 设置为 true。根据其他人的建议,我也启用了ASP.NET Debugging和Unmanaged Debugging。但是如果同时启用了ASP Debugging和Unmanaged Debugging,就会出现错误。
所以我禁用了 ASP 调试,它只启用了 ASP.NET 调试和非托管调试。我实际上不知道为什么要启用 Unamaged Debugging,因为据我所知,没有非托管代码。但如果未启用,则会出现另一个错误。
话虽如此,启用这两个似乎运行良好,但我无法调试。任何想法为什么?
【问题讨论】:
你是在发布模式下构建吗? 您是否尝试调试非 .net(非托管)代码?如果没有,则不需要调试器。 @DotN3TDev 否。它在默认的调试配置文件中 @spender 没有。据我所知,这都是托管 (c#) 代码。 @ernest 好的,抱歉,我认为这可能是一个快速的解决方案:/ 【参考方案1】:嘘! VS2003!特别提到您的托管代码错误,我在一篇旧的 msdn 帖子中找到了一些步骤,该帖子引用了一个更早的帖子,其中概述了以下步骤。
基本上,为了调试那些较旧的 asp.net Web 应用程序,您需要对 IIS 和您的机器进行一些修改。下面的示例特定于 server 2008,因此您需要修改一些导航步骤以适应您的操作系统(如果不同)
我假设您可能已经安装了 IIS 7.5,如果是这样,它似乎对这篇文章中的人有用(下面的参考资料)
1 - 安装 IIS 元数据库兼容性
要在 Windows 2008 Server 上安装 - 单击开始,然后单击“服务器管理器”。
在 Web 服务器 (IIS) 下,单击添加角色服务。
确保已安装 IIS Metabase Compatibility。
2 - 安装 .Net 1.1
我按以下顺序安装了 .Net 1.1:
.Net Framework 1.1. .Net Framework 1.1 Service Pack 1 ASP.Net Security Update for .Net Framework 1.1 Service Pack 1我仍然收到兼容性警告,但选择“运行程序”继续。
安装 Service Pack 1 可能需要重新启动。
3 – 启用 ASP.Net 1.1 ISAPI 扩展
按照选项 2 中的步骤使 ASP.NET v1.1.4322 在我的 ISAPI 和 CGI 限制对话框中可用,但默认情况下被禁用。打开 Internet Explorer,单击您的服务器名称并从 IIS 部分选择 ISAPI 和 CGI 限制。启用 ASP.Net v1.1.4322 作为有效的 ISAPI 扩展。
4 – 调整 machine.config
我们需要 ASP.NET 1.1 来忽略 IIS 配置部分,因此为 Framework 1.1 打开 machine.config (%windir%\Microsoft.NET\Framework\v1.1.4322\config\machine.config) 并将以下内容添加到configSections 结束。
<section name="system.webServer" type="System.Configuration.IgnoreSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
5 – 调整应用程序池
我现在需要告诉我的应用程序使用应用程序池 ASP.NET 1.1。使用 IIS 管理器,选择您正在使用的站点,然后选择“高级设置”。调整应用程序池以使用将使用 .Net Framework 1.1 的 ASP.NET 1.1。
6 – 修复 applicationHost.config 错误
IIS 运行时检测到我在 64 位操作系统上运行,因此它尝试从 Microsoft.Net\Framework64 加载 .net 框架配置,但 .Net Framework 1.1 不存在此配置。解决方法是将32位版本复制到相应的64位文件夹中。
创建\Windows\Microsoft.net\Framework64\v1.1.4322\config 从 \Windows\Microsoft.net\Framework\v1.1.4322\Config\ 复制 machine.config参考文献
http://forums.asp.net/t/1861879.aspx?No+managed+code+running+in+the+process+IIS+and+NET+1+1 http://blogs.charteris.com/blogs/ivorb/archive/2010/07/15/installing-net-1-1-applications-on-windows-server-2008-r2.aspx【讨论】:
我相信我以前看到过类似的东西,但由于我在 Windows Server 2003 和 IIS 6 上,所以我很犹豫是否要执行这些步骤。 嘿 ernst - 这是可以理解的。请查看我的下一个答案,让我知道这是否适合您。干杯【参考方案2】:我可以提供的最佳建议是,尤其是由于不愿意修改现有生产配置的任何设置,是在本地工作站上进行设置;在本地开发您的代码,您可以在其中正确测试和部署任何更新到您的网络服务器。
出于好奇,您的源代码是否位于与您的开发机器不同的 Web 服务器上,即您的工作站上是否安装了 Visual Studio 2003 .NET 并尝试在 Web 服务器上远程调试项目?
如果是这种情况,如果您安装了远程组件,这显然没问题安装 Visual Studio .NET 时远程设置会自动运行,但您显然可以单独运行它:请参阅:http://msdn.microsoft.com/en-us/library/ey7ec813%28v=vs.71%29.aspx
也就是说,我发现的其他线程说这可能不值得麻烦(除非你真的想试一试),最好的方法是重新安装开发工作站拥有您需要的一切,并从那里为您的项目编写代码。
祝你好运。
【讨论】:
以上是关于VS 2003 - IDE 永远不会遇到断点的主要内容,如果未能解决你的问题,请参考以下文章