我有一个非常古老的VS 2003网络应用程序,我终于可以通过F5运行了。但是,IDE不会在任何断点上中断。
我认为这与嫉妒有关。以前,当我提取项目的属性并转到配置属性/调试时,只有启用ASP调试设置为true。根据其他人的建议,我还启用了 ASP.NET调试和非托管调试。但是,如果同时启用了ASP调试和非托管调试,则会出错。
所以我禁用了ASP调试,只启用了ASP.NET调试和非托管调试。我实际上不知道为什么Unamaged Debugging被启用,因为据我所知,没有非托管代码。但是如果没有启用,则会发生另一个错误。
话虽这么说,启用这两个似乎运行良好,但我无法调试。有什么想法吗?
答案 0 :(得分:0)
啧! VS2003!具体是指您的托管代码错误,我在旧的msdn帖子中找到了一些步骤,这些帖子引用了一个更老的帖子,其中列出了以下步骤。
基本上,为了调试那些旧的asp.net网络应用程序,你需要为IIS和你的机器制作一些mod。以下示例特定于server 2008,因此您需要修改一些导航步骤以适合您的操作系统(如果不同)
我假设您可能已经安装了IIS 7.5,如果是这样,它似乎对此帖子中的人有用(下面的参考资料)
1 - 安装IIS元数据库兼容性
要在Windows 2008 Server上安装 - 单击“开始”,然后单击“服务器管理器”。
在“Web服务器(IIS)”下,单击“添加角色服务”。
确保已安装IIS元数据库兼容性。
2 - 安装.Net 1.1
我按以下顺序安装了.Net 1.1:
我仍然收到兼容性警告,但选择“运行程序”继续。
安装Service Pack 1可能需要重新启动。
3 - 启用ASP.Net 1.1 ISAPI扩展
按照选项2中的步骤,我的ISAPI和CGI限制对话框中提供了ASP.NET v1.1.4322,但默认情况下已禁用。打开Internet Explorer,单击您的服务器名称,然后从IIS部分选择ISAPI和CGI限制。启用ASP.Net v1.1.4322作为有效的ISAPI扩展。
4 - 调整machine.config
我们需要ASP.NET 1.1忽略IIS配置部分,因此打开Framework 1.1(%windir%\ Microsoft.NET \ Framework \ v1.1.4322 \ config \ machine.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位文件夹中。
<强>参考强>
答案 1 :(得分:0)
我可以提供的最佳建议,特别是由于不愿修改现有生产配置的任何设置,是将其全部设置在本地工作站上;在本地开发代码,您可以正确地测试和部署任何更新到您的Web服务器。
出于好奇,您的源代码是在开发机器的单独Web服务器上,即您是否在工作站上安装了Visual Studio 2003 .NET并且尝试在Web服务器上远程调试项目?
如果是这种情况,如果安装了远程组件,这显然是正常的。安装Visual Studio .NET时,远程安装程序会自动运行,但您显然可以单独运行它:请参阅:http://msdn.microsoft.com/en-us/library/ey7ec813%28v=vs.71%29.aspx
那就是说,我发现的其他线索已经说过,这可能不值得麻烦(除非你真的想试一试),而且最好的方法是全新安装开发工作站,包含您需要的一切,并从那里编写项目代码。
祝你好运。