VS 2003 - IDE never hits a breakpoint
I have a pretty old VS 2003 web application that I was finally able to run via F5. However, the IDE does not break on any breakpoints.
I think it has to do with conformism. Previously, when I stopped the project properties and went to Configuration Properties / Debug , only the Enable ASP Debugging option was set to True. As suggested by others, I've also included ASP.NET Debugging and Unmanaged Debugging. However, an error occurs if both ASP debugging and unmanaged debugging are enabled.
So, I turned off ASP Debugging, which left only ASP.NET Debugging and Unmanaged Debugging. I actually have no idea why Unamaged Debugging is enabled because as far as I can tell, there is no unmanaged code. But if this is not allowed, another error occurs.
That being said, everything seems to work fine with these two, but I can't debug. Any ideas why?
source to share
Sheesh! VS2003! Specifically, referring to your managed code error, there are a few steps I found in an old msdn post that links to an even older post that has the following steps:
Basically, in order to debug old asp.net web applications, you need to do some mods for IIS and your machine. The example below is for server 2008, so you will need to change some of the navigation steps according to your OS (if different)
I assume you probably have IIS 7.5 installed and if so it seems to have worked for the person in this post (links below)
1 - Set Metabase IIS Compatibility
To install on Windows 2008 Server - click "Start", then "Server Manager".
Under Web Server (IIS), click Add Role Services.
Make sure Metabase IIS compatibility is installed.
2 - install .Net 1.1
I installed .Net 1.1 in the following order:
- .NET Framework 1.1.
- ... Net Framework 1.1 Service Pack 1
- ASP.Net Security Update for .Net Framework 1.1 Service Pack 1 (SP1)
I still have a compatibility warning, but select "Run this program" to continue.
Installing Service Pack 1 will likely require a reboot.
3 - Enable ASP.Net 1.1 ISAPI Extension
Following the steps in option 2, ASP.NET v1.1.4322 was available in my ISAPI and CGI Restrictions, but was disabled by default. Open Internet Explorer, click your server name and select ISAPI and CGI restrictions from the IIS section. Enable ASP.Net v1.1.4322 as a valid ISAPI extension.
4 - Adjust the machine.config
We need ASP.NET 1.1 to ignore the IIS configuration sections, so open the machine.config file for Framework 1.1 (% windir% \ Microsoft.NET \ Framework \ v1.1.4322 \ config \ machine.config) and add the following to the end of the config sections.
<section name="system.webServer" type="System.Configuration.IgnoreSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
5 - adjust the application pool
Now I needed to tell my application that it was using the ASP.NET 1.1 application pool. Use IIS Manager, select the site you are working with, and select Advanced Settings. Adjust the application pool to use ASP.NET 1.1, which will use the .Net Framework 1.1.
6 - Fix applicationHost.config error
The IIS runtime detected that I was running on a 64-bit operating system, so it tried to load the .net framework configuration from Microsoft.Net \ Framework64, but that doesn't exist for .Net Framework 1.1. The solution is to copy the 32 bit version to the corresponding 64 bit folder.
- Create \ Windows \ Microsoft.net \ Framework64 \ v1.1.4322 \ config
- Copy the machine.config file from \ Windows \ Microsoft.net \ Framework \ v1.1.4322 \ Config \
Links
source to share
The best recommendation I can offer, especially because of the reluctance to change any settings in your existing production configuration, is to install it on your local workstation; build your code locally where you can check and deploy any updates to your webserver properly.
Out of curiosity if your source code is on a separate web server for your development machine, i.e. do you have Visual Studio 2003.NET installed on your workstation and trying to remotely debug a project while it is on the web server?
If so, then it appears to be a good thing if you've installed the remote components. Remote setup starts automatically when Visual Studio .NET is installed, but you might be running it separately: see http://msdn.microsoft.com/en-us/library/ey7ec813%28v=vs.71%29.aspx
However, other threads I found about this said that it probably isn't worth the hassle (unless you really want to let it go) and that the best way forward is a fresh install of a workstation development with everything you need and code your project from there.
Good luck.
source to share