开发者

VS2010 error: Unable to start debugging on the web server

I get error message "Unable to start debugging on the web server" in Visual Studio 2010. I clicked the Help button and followed the related suggestions without success.

This happens with a newly created local ASP.Net project when modified to use IIS instead of Cassini (which works for debugging). It prompts to set debug="true" in the web.config and then immediately pops up the error. Nothing shows up in the Event Viewer.

I am able to attach to w3wp to debug. It works but is not as convenient as F5.

I also have a similar problem with VS2008 on the same PC. Debugging used to work for both.

I have re-registered Framework 4 (aspnet_regiis -i). I ran the VS2010 repair (this is the RTM version). I am running on a Windows Server 2008 R2 x64 box.

I do have Resharper V5 installed.

There must be some configuration setting or registry value that survives the repair causing the pro开发者_如何学Cblem.

I'd appreciate any ideas.


Disable the loopback check

(original microsoft page here)

To set the DisableLoopbackCheck registry key, follow these steps:

Click Start, click Run, type regedit, and then click OK.

In Registry Editor, locate and then click the following registry key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

Right-click Lsa, point to New, and then click DWORD Value.

Type DisableLoopbackCheck, and then press ENTER.

Right-click DisableLoopbackCheck, and then click Modify.

In the Value data box, type 1, and then click OK.

Quit Registry Editor, and then restart your computer.


I got a new PC with Windows 7. I installed VS2010 and my development environment and hoped my F5 debug problem would be gone, but it still failed to start the debugger.

This was a good clue since it ruled out the install of software.

I finally traced it down to my HOSTS file. I had an entry for some of my local websites which I can access like "http://testsite.lcl" but the IP I had assigned was my machine's IP instead of using 127.0.0.1 so it looked like a remote server to VS2010. Changing back to 127.0.0.1 resolved the issue.

Thanks for everyone's help on this.


I had the same problem. How did I fixed it.

Go to IIS (in my case IIS 7 / Windows 7). Select your web site from the list, click on .NET Compilation in ASP.NET section. Select Open Feature. Check if your Debug is set to True. In my case it was False. Once I changed it to True - I have my debug back :)


These steps my differ depending on your version of Windows. I am using 7 with iis 7.

Open IIS Manager, click on Application Pools and find the 2 ASP.NET v4.0 pools (One is called "ASP.NET v4.0" the other "ASP.NET v4.0 Classic". Chances are that first one is stopped. Do not start it yet, we need to investigate a bit more.

For the "ASP.NET v4.0" pool, check the name in the Identity Field. Is it ApplicationPoolIdentity? Remember the name.

Open Computer Management (right click on My Computer and select Manage). Expand Event Viewer, then Windows Logs. Click on Application and wait for the data to load. There should be an error with a source of User Profile Service with a message that starts with "Windows cannot log you on because your profile cannot be loaded. Check that you are connected to the network, and that your network is functioning correctly."

If you do find that, then you have the same problem as I did.

The Solution: Go back to IIS Manager and right click on "ASP.NET v4.0" and select Advanced Settings. Under Process Model, the first field is Identity. Change this from ApplicationPoolIdentity to NetworkService. Click OK.

Now start the pool if it did not restart automalically. Go back to your application and press F5 (start debug) and your application should work.

Please note that I have not figured out why this works, and this may be a security risk, but at least you will be able to do some work while you think about this.


I had this problem in Visual Studio 2012 when running a website I had created in Visual Studio 2010. I tried each of the following, which did not solve the problem, but still may have been required:

  1. Checked that the App Pool was targeted to the same framework as what was specified in the web.config

    <compilation defaultLanguage="c#" debug="true" targetFramework="4.0">
  2. Started the 64bit Remote Debugger: \Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Remote Debugger\x64\msvsmon.exe

  3. Set the DisableLoopbackCheck registry key and restarted Windows. MS Instructions here

  4. Browsed the site locally (it came up just fine).

  5. Finally I found the IIS setting that fixed the issue.

    1. Go to IIS (7.5 in my case) and click on the relevant site in the Sites node.
    2. Double click .NET Compilation in the ASP.NET section
    3. Under Behavior, set Debug to True.
    4. Click Apply and run the site in Visual Studio.


You can firstly deploy your web application/site with your iis, then open your visual studio 2010. Then click "File"->open->website->Local IIS Site, then select your website/application. Then you will find that the debug may works. This method works for my case.


I had the same issue on Win7 and VS2010 (without ReSharper) and found that Skype listened on port 80. IIS listens to port 80 by default. This can occur when you set VS to debug an existing web application running in IIS instead of the built in ASP.NET debug web server.

I solved the issue by unchecking "Use ports 80 and 443 as alternatives for incoming connections." in Skype under Tools -> Options -> Connection, followed by a restart of Skype.


What worked for me was to go into IIS at the server level, click on ISAPI and CGI restrictions, I found that aspnet_isapi.dll for asp.net 4.0 was set to Not Allowed. I set it to allowed and debugging worked. The steps are:

  1. Open IIS.
  2. Click on the top level
  3. Select ISAPI and CGI Restrictions under IIS in the Features view
  4. Examine the Descriptions and if ASP.NET v4[current version] has the Not Allowed Restriction, click on the "Allow" link in the Actions section of the dialog.

This change should take care of the problem. Note that I came up with this solution when I tried to run the web app withoug debugging and I came up with the following error:

HTTP Error 404.2 - Not Found The page you are requesting cannot be served because of the ISAPI and CGI Restriction list settings on the Web server.


Another thing to try (this is what worked for me):

In IIS, click Application Pools > (Your Site) > Advanced Settings, and change "Enable 32-Bit Applications" to True.


I don't have a definite answer though these articles may have some helpful info:

Using Windbg to start with w3wp.exe This mentions windbg/cdb debuggers specifically, but this advice should work with Visual Studio talking to cdb (which is attached to w3wp).

Remote debugging with Visual Studio The reason I mention remote debugging at all is that I had to use that a few times in the past to get Visual Studio to attach to w3wp.exe. W3wp.exe runs in a different session, so you can't directly attach a debugger to that.


You have not mentioned what operating system you are using. But this might not be related to operating system. I am taking a guess here. If you are running on Windows 7, try running visual studio under Administrator previlages.

You can also try adding your user ID to the VS debugger users group. You can access user groups by reight clicking on computer name or my computer and selecting Manage. Under that you can find Users & Groups.


In IIS in the Directory Security TAB, if using SSL check "Ignore client certificate" if you are running it in your local PC.


I was getting this after a new install of Windows 7 that did not include IIS by default. After installing IIS, the default app pool was created to run under .NET 2.0. Though I was able to set the default App Pool to .net 4 from .net 2, I still got this error. I had to reinstall .net 4 in IIS to get it to work properly. That is, run C:\Windows\Microsoft.NET{FrameworkFolder}\v{FrameworkNumber}\aspnet_regiis -i


What worked for me was to edit the HOSTS file in the C:\Windows\System32\drivers\etc folder and set the loopback for the website name I'd setup.

For example:
127.0.0.1 http://guyellisrocks.com/


I've had the same issue and in my case it happened because the AppPool identity was set to impersonate an AD user which had its password changed. Therefore the process could not start and the AppPool always stopped when trying to debug from VS.

After updating the password in the AppPool/Advanced Settings/Identity everything started running smoothly.


Check whether the msvsmon.exe (Visual studio Remote Debugging Monitor) file is existing in the below path: C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger\x64

If the file does not persist on the above mentioned path,then you need to get it from any other machine which is having the same version of Visualstudio.


Having tried all of the solutions above, I was still having this issue. Other projects were debugging without issue, so I knew it had to be something to do with this particular application's configuration.

Mine is an MVC app running under IIS 8. The issue was with URL Rewriting.

I had a rule to enforce trailing slashes. All I had to do was disable it (which can be done in IIS directly, or via the web.config below - just set enabled="false")

 <rewrite>
        <rules>
            <rule name="AddTrailingSlashRule1" enabled="false" stopProcessing="true">
                <match url="(.*[^/])$" />
                <conditions>
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                </conditions>
                <action type="Redirect" url="{R:1}/" />
            </rule>
        </rules>
    </rewrite>


Unload project, right click "edit abc.csproj" You will see the configuration. If your project is mapped to use IIS Web Express url.

<WebProjectProperties>
<UseIIS>True</UseIIS>
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>6270</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://matrimonyfree.in/</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl>
</CustomServerUrl>
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
</WebProjectProperties>

verify If you have started the web site in IIS http://matrimonyfree.in in this case


It may also be because of some special or illegal format in your config file i will suggest you to check for that first .

In my case i was getting an error because of that when i tried to browse my service from IIS it showed me the real error .


I tried every single solution put online to resolve this issue and nothing seems to work consistently.

I eventually solved it in both 2010 and 2012 by tracking it down to the following missing file in the Debug Source Files setting

C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\atlmfc\src\mfc\

Solution > Properties > Debug Source Files >

Check to ensure all the files are there then remove this entry and everything worked again.


Did you change your bindings on your IIS website? If so, you need to go to your project properties, select the Web tab, and change the Project Url to match your binding. so where it says http:///yourwebsite change it to http:///yourwebsite

This worked for me.


In my case it was the system.webServer > httpErrors > errorMode in the web.config that caused the problem.

If you have errorMode="Custom" try this:

<httpErrors errorMode="DetailedLocalOnly">

See this answer: https://stackoverflow.com/a/15585629/631277 for variations and other ideas concerning URL rewriting


I had same issue with Visual Studio 2013. In my case I had removed the "Default Web Site" from IIS. To resolve the issue I created the default website again, set physical path to C:\inetpub\wwwroot and port to 80 (default port). After restarting the Visual Studio it worked perfectly. Hope it helps someone.


VS2010 error: Unable to start debugging on the web server

Unable to start debugging on web server. the web server not configured correctly.

How to resolve this problem?

Step-1

open Command Prompt (Run as administrator)

Step-2

C:\Windows\system32>cd..

C:\Windows>cd Microsoft.NET

C:\Windows\Microsoft.NET>cd Framework

C:\Windows\Microsoft.NET\Framework>cd v4.0.30319

C:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis.exe -i


Your solution file in visual studio is broken. It's a known issue when converting from a file-system website to an IIS website, and it has been carried over from 2008 to 2010. Not sure of the location for the bug report on ms's kb site, though.

Remove the website from the solution file (right click the project name, click "remove"). Then right click the solution name, click "add existing web site". When the dialog to add a web site comes up, choose "from IIS" in the left-hand pane. Navigate to your application in IIS, select "use secure sockets layer" if necessary, and click "finish" (or whatever that button is labeled).

this will permanently fix the issue.


Unable to start debugging on web server. the web server not configured correctly.

  1. How To Resolve This Problem?

    Step-1

    open Command Prompt(Run as administrator)

    Step-2

    C:\Windows\system32>cd..

    C:\Windows>cd Microsoft.NET

    C:\Windows\Microsoft.NET>cd Framework

    C:\Windows\Microsoft.NET\Framework>cd v4.0.30319

    C:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis.exe -i Microsoft (R) ASP.NET RegIIS version 4.0.30319.0 Administration utility to install and uninstall ASP.NET on the local machine. Copyright (C) Microsoft Corporation. All rights reserved. Start installing ASP.NET (4.0.30319.0). .................. Finished installing ASP.NET (4.0.30319.0).

    C:\Windows\Microsoft.NET\Framework\v4.0.30319>


One of the things to check is to make sure if IIS is up and running. Something as simple as that would resolve this issue sometimes.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜