(C#)asp.net调试错误解决方法收集

来源:百度文库 编辑:神马文学网 时间:2024/04/20 07:18:17
(C#)asp.net调试错误解决方法收集一、 调试 ASP.NET 应用程序时出现"未将项目配置为进行调试"的错误信息

             症状

             当您在 Visual Studio .NET 中调试 ASP.NET 应用程序时,可能会出现下面的错误信息:

             Error while trying to run project: Unable to start debugging on the
             web server. The project is not configured to be debugged

             For ASP.NET projects, verify that you have a valid project file
             called "Web.config" for the URL specified and "debug" is set to
             "true" in that file.
             For ATL Server projects, verify that the "DEBUG" verb is associated
             with your ISAPI extension.
             Would you like to disable future attempts to debug ASP.NET pages for
             this project?


             原因

             出现此错误主要是因为下列原因:

             ASP.NET 应用程序没有 Web.Config 文件。
             "Internet 服务管理器"中当前项目文件夹的执行许可属性设置为了无。

           解决方案

             若要解决此问题,请根据您的具体环境,使用以下方法之一:

           如果您的项目没有 Web.config 文件,则向包含该 ASP.NET 应用程序的目录添加一个 Web.config    文件。如果您是在Visual Studio .NET 中工作,则用右键单击"项目资源管理器"中的项目,单击添加   新项,然后单击 Web 配置文件。

           如果您的项目已经有了 Web.config 文件,而且该 Web.config 文件的"编译"部分中 debug 属性设置   为了 true,则请按照下列步骤设置该项目文件夹的执行许可属性:

             1 启动"Internet 服务管理器",然后单击要尝试进行调试的项目。
             2 右键单击该项目,然后单击属性。
             3 单击目录选项卡。
             4 如果在执行许可列表中选择了无,则单击"仅显示脚本"然后单击应用。


二、在发送调试 HTTP 请求时出现"无法启动调试"的错误信息

             症状

             当您在 Visual Studio .NET 中调试 ASP.NET 应用程序时,可能会出现下面的错误信息:

             Error while trying to run project:Unable to start debugging on the
             web server.Server-side error occurred on sending debug HTTP request.


             Make sure the server is operating correctly.Make sure the server is
             operating correctly.You may also want to refer to the ASP.NET and
             ATL Server debugging topic in the online documentation.Would you
             like to disable future attempts to debug ASP.NET pages for this
             project?

             原因

             如果 ASP.NET 应用程序的 Web.config 文件中有语法错误,就会发生此问题。

            解决方案
             若要解决此问题,要确保 Web.config 文件中的可扩展标记语言 (XML) 有效且格式正确。此外,还要记住 Web.config中的一切字符都是区分大小写的。

三、调试 ASP.NET 应用程序时出现"访问被拒绝。请检查计算机调试管理器的 DCOM 配置设置。"的  错误信息

             症状

             当您在 Visual Studio .NET 中远程调试 ASP.NET 应用程序时,可能会出现下面的错误信息:

             Error while trying to run project:Unable to start debugging on the
             web server.Access is denied.Check the DCOM configuration settings
             for the machine debug manager.Would you like to disable future
             attempts to debug ASP.NET pages for this project?

             原因之所以会发生此错误是因为试图进行远程调试的用户不是 Microsoft Internet Information       Server(IIS) 服务器上"调试器用户"组的成员。
           解决方案
             若要将适当的用户添加到"调试器用户"组中,请在 Web 服务器上按照下列步骤操作:
             1 从 Windows 开始菜单中,指向程序,指向管理工具,然后单击计算机管理。
             2 在左窗格中,单击以展开计算机管理,系统工具和本地用户和组节点。
             3 单击组,然后双击调试器用户。
             4 在调试器用户属性对话框中,单击添加。
             5 在选择用户或组对话框中,选择适当的用户,然后单击确定。
             6 单击确定退出调试器用户属性对话框。
             7 关闭"计算机管理"资源管理器。

四、调试 ASP.NET 应用程序时出现"无法在 Web 服务器上启动调试"的错误信息

             症状

             当您在 Visual Studio .NET 中调试 ASP.NET 应用程序时,可能会出现下面的错误信息:

             Error while trying to run project:Unable to start debugging on the
             web server.Would you like to disable future attempts to debug
             ASP.NET pages for this project?

             原因

             之所以发生此错误是因为 Microsoft Internet Information Server (IIS) 未运行或者运行不正常。

            解决方案

若要解决此问题,必须重新启动 IIS。为此,请在命令提示符处键入 iisreset

五、无法调试 ASP.NET Web 应用程序

       症状

       当您在 Microsoft Visual Studio .NET 中调试 ASP.NET 应用程序时,可能会显示下面的 Microsoft
       开发环境错误信息:

       Error while trying to run project:Unable to start debugging on the web
       server.The server does not support debugging of ASP.NET or ATL Server
       applications.Run setup to install the Visual Studio .NET server
       components.If setup has been run, verify that a valid URL has been
       specified.

       You may also want to refer to the ASP.NET and ATL Server debugging topic
       in the online documentation.Would you like to disable future attempts to
       debug ASP.NET pages for this project?

       原因

       如果 Microsoft .NET Framework 设置或安装没有正确完成,则可能发生此错误。发生此错误时,在Microsoft Internet 信息服务 (IIS) 中不会正确配置 ASP.NET 文件扩展名(例如 .aspx)的应用程序映射。

       若要检查应用程序映射是否正确,请按照下列步骤操作:
       1 单击开始,指向程序,指向管理工具,然后单击 Internet 服务管理器。
       2 展开对应于本地主机(计算机名)的节点,然后展开默认 Web 站点节点。
       3 右键单击 Web 应用程序目录,然后单击属性。
       4 在目录选项卡上的应用程序设置下,单击配置。
       5 单击应用程序映射选项卡。
       6 在应用程序映射选项卡的应用程序映射下,检查 .aspx 扩展名是否映射到以下动态链接库 (DLL):
       C:\Windows Directory\Microsoft.Net\Framework\v1.0.3705\aspnet_isapi.dll

       备注:必须用您的系统的正确目录替代此路径中的 Windows Directory。

       7 如果未找到应用程序映射条目,请遵循"解决办法"一节中的步骤执行。

      解决方案

       若要解决此问题,请使用 Aspnet_regiis.exe 管理实用工具,该实用工具在单个计算机上管理多个版本  的 ASP.NET 的安装和卸载。

       若要使用 Aspnet_regiis.exe 实用工具,请遵循以下步骤:
       1 单击开始,然后单击运行。
       2 在打开框中键入 cmd,然后单击确定以打开命令提示。
       3 在命令提示处,键入 cd 命令以更改为以下目录:
       C:\Windows Directory\Microsoft.Net\Framework\v1.0.3705
       4 键入 aspnet_regiis -i 以正确配置所需的应用程序映射。

       Error while trying to run project:Unable to start debugging on the web
       server.Access is denied.Would you like to disable future attempts to debug
       ASP.NET pages for this project?

       请验证您是计算机上"管理员"组和"调试器用户"组的成员。非管理员不具有调试 ASP.NET 辅助进程    (Aspnet_wp.exe) 的正确权限。

六、配置错误

       说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。

       分析器错误信息: 访问被拒绝:“myApp”。

       源错误:

行 256:      
行 257:      
行 258:      
行 259:    
行 260:
       源文件: c:\windows\microsoft.net\framework\v1.1.4322\Config\machine.config    
       行: 258




       另外还有一个 Access denied 的错误说是不能访问
       C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files
       下的某个目录。产生这些错误的原因很多,主要的可能包括:Bin 目录或者 Web.config 被更改以及访问  文件系统的权限不够。
       如果 Bin 目录或者 Web.config 被更改,MSDN 网站上有文章说是因为 Microsoft Index
       Services(Indexing Service) 服务在运行。详细内容可以访问: PRB: Access Denied Error When
       You Make Code Modifications with Index Services Running 。
       但是另外还需要注意一些别的问题,
         检查 Bin 目录的文件系统访问权限。一般只要确保 Users 容器拥有“读取和运行”、“列出文件夹目录”和  “读取”的权限就可以了。
         如果提示说不能访问 C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET
         Files\... ,可以将 Temporary ASP.NET Files 目录的访问权限列表中添加
         Everyone,并设置为拥有所有的权限。然后在访问一次此 Web 应用程序后,将 Temporary ASP.NET   Files 目录的访问权限列表中将 Everyone 删除就可以了。
      综上所述的方法,主要包括:
         禁用或设置 Indexing Service 服务;
         检查 Bin 目录的访问权限;
         设置 Temporary ASP.NET Files 目录的访问权限。

七、“/EnterPrise”应用程序中的服务器错误。
从客户端(c)中检测到有潜在危险的 Request.Form 值。

       解决办法: web.config中加入
       或
       前一个作用于所有项目中文件,后者仅仅作用于本页面.

八、ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。

   ASP.NET有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,     在 IIS 6 上为网络服务)。如果应用程序正在通过模拟,则标识将为匿名用户(通常为I          U   SR_MACHINENAME)或经过身份验证的请求用户。

       由于在iis 6.0中,默认的应用程序池中的标示用的是Network Service,所以在进程中是使用Network
       Service这个帐号运行来运行w3wp.exe进程,而当我们在运行VS
       2003的时候是需要对D:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary
       ASP.NET Files\目录下进行读写操作的,所以看了一下该文件夹,发现没有Network Service,添加上该账号,  同时选上FULL
       CONTROL,问题解决,但是至于为什么会产生这个问题我不大清楚,因为在安装WINDOWS 2003的时候,Ne  twork
       Service账号是存在于Temporary ASP.NET Files该文件夹安全列表中的。

       顺便提一下,在IIS6.0中的默认应用程序池-->属性-->标示中把Net Service改成Local System该问题也可以解决

九、对路径“D:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary
       asp.net Files\webapplication180d7be\b46d84c0”的访问被拒绝。

       说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码  中导致错误的出处的详细信息。

       异常详细信息: System.UnauthorizedAccessException:
       对路径“D:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary asp.net
       Files\webapplication180d7be\b46d84c0”的访问被拒绝。

       asp.net 未被授权访问所请求的资源。请考虑授予 asp.net 请求标识访问此资源的权限。ASP.NET
       有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6
       上为网络服务)。如果应用程序正在通过 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或  经过身份验证的请求用户。

       若要授予 asp.net 对文件的写访问权,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项  卡。单击“添加”添加适当的用户或组。突出显示 asp.net   帐户,选中所需访问权限对应的框。

十、调试权限不够
       Try:
       根据设计,ASP.NET 要求对根 Web 站点上或任何虚拟目录上的 ASPNET 帐户(Aspnet_wp.exe
       进程帐户)具有读取、执行和列出访问权限。这是必需的,以便 ASP.NET 可以访问内容文件并可以监  视文件更改。
    
解决方案

       若要为根 Web 站点上或任何虚拟目录上的 ASPNET 帐户添加读取、执行和列出访问权限,请执行以下  步骤:

在 Windows 资源管理器中,浏览到包含根 Web 站点(默认情况下是 C:\Inetpub\Wwwroot)或虚拟目  录的文件夹。
       右键单击该文件夹,然后单击属性。
       在安全性选项卡上,单击添加。
       键入计算机名\ASPNET(例如,在名为 Webdev 的计算机上,键入 Webdev\ASPNET),然后单击确  定。
       允许以下 ASPNET 帐户权限:
       读取并执行
       列出文件夹内容
       读取
       单击确定以关闭属性对话框并保存所做更改。

   备注:如果 Everyone 组或用户组已具有对根 Web 站点或虚拟目录的读取访问权限,则无需执行这些步骤。
       -------
       添加 IUSR_YouComputerName 和ASPNET 这两个用户对
       C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET
       Files\webapplication1dd84b00\b065eec7目录的访问权限,设置为完全访问,
       --------
       将 asp.net 用户(具体是什么记不太清楚了:< 可以到“安全性--用户/用户组”中查看)对目录
         C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files
       的权限改为可写或更高即可。


十一、System.Reflection.TargetInvocationException: 调用的目标发生了异常。 --->
       System.UnauthorizedAccessException: 拒绝访问。 --- 内部异常堆栈跟踪的结尾 ---
       System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr,
       Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture,
       String[] namedParameters) at System.RuntimeType.InvokeMember(String name,
       BindingFlags invokeAttr, Binder binder, Object target, Object[] args,
       ParameterModifier[] modifiers, CultureInfo culture, String[]
       namedParameters) at System.Type.InvokeMember(String name, BindingFlags
       invokeAttr, Binder binder, Object target, Object[] args) at
       System.DirectoryServices.DirectoryEntry.Invoke(String methodName, Object[]
       args) at aspnetc.pubFunction.IISManager.Create(VirtualDirectory newdir) in
       f:\ziliao1\aspc\pubfunction\iismanager.cs:line 132

       如果是在asp.net 下使用的话,要记得在 中添加
       否则就会出现 “异常详细信息: System.UnauthorizedAccessException: 拒绝访问“。

十二、 iis访问站点时出现输入用户名和密码

       1.iis->站点->属性->目录安全性->身份验证和访问控制->启用匿名访问
       2.不知你有没有添加这"IUSR_yourname"INTERNET 来宾账户!如没有添加就应该是这个问题所引起.
     (在"默认网站---属性-----目录安全性-----编辑------浏览-----高级-----立即查找"即可找到本账户,双击添   加即可)
       3.把你网站文件所在的目录的,全权改成 everyone 再试一下先. 楼上们 所说的一般情况下默认是不会错   的.
       4把iis目录所在的文件夹权限加iuser_机器名

十三、"Visual Studio .NET已检测到指定的Web服务器运行的不是ASP.NET 1.1 版..."的解决办法

       步骤一尝试如下:

       1.当然先确定一下,是否真的装了1.1的版本,查看路径C:\WINNT\Microsoft.NET\Framework\   v     1.1.4322
       2.也是很多人都知道,重新安装 aspnet_regiis ,怎么安装,就不多说了,网上很多!
       3.重启IIS,重新启动ASP.NET服务程序
       4.如果你的Web服务器使用了固定IP:确定你的"Internet信息服务"中使用的是"默认web站点"并且其属性中的IP地址为"(全部未分配) ",而不是你己指定的ip地址。可以修改"默认web站点"的名字,但不要删除,一旦删除,只要在新建的时候,名称严格为"默认web站点"也可以恢复
       5.如果你的IE使用了代理的话,把 Bypass Proxy Server for local adresses勾上
       6.如果你本身已经有个web站点,请把它卸载掉,不用重新安装vs.net,只要重新安装下iis也可以。
       7.如果还是不行,那可真没什么办法了,那就重装IIS,FRAMWORK,.NET,操作系统吧
       最后说一个安全问题,尽量不要把IIS指向默认路径C:\Inetpub\wwwroot
       这个路径很容易受攻击,最好重新指向一个新的路径,然后把wwwroot文件夹删除掉,需要用户上传文 的,   千万要阻止上传".HTA"文件,做好访问网站的权限,屏蔽执行HTA文件,做好数据库备份工作!
       又是工作中的一点经验,供大家参考,少走弯路!

步骤二

  1.你的Web服务器使用了固定IP:确定你的"Internet信息服务"中使用的是"默认web站点"并且其属性中  的IP地址为"(全部未分配)",而不是你己指定的ip地址。然后在回到VS.NET中重试,或许可以解决。

       2.以上方法不能解决问题时,考虑MSDN中的解决办法,如下:
       Visual Studio .NET 无法确定在 Web 服务器计算机上运行的是否为 ASP.NET 1.1
       版。该错误可能在几种不同情况下发生。请检查是否属于以下情况:
       a, 确保 .NET Framework 1.1 版安装在 Web 服务器计算机上。有关详细信息,请参见 Visual Studio .    NET软件要求。
       b, 如果 ASP.NET 已安装在 Web 服务器计算机上,但仍然遇到此错误,则可能是配置问题。为了纠正   有问题的安装或配置,可以使用名为
       aspnet_regiis 的 ASP.NET 实用工具。在类似如下所示的路径中可以找到此命令行实用工具:
       C:\WINDOWS\Microsoft.NET\Framework\v1.1.nnnn\
       其中 nnnn 表示四位内部版本号。在最高版本号下查找。使用 /i 开关运行该实用工具:
       aspnet_regiis /i
       提示 您可以从命令的正确目录中直接打开该命令窗口。从 Windows 的"开始"菜单,指向"程序"、"Visual  Studio .NET2003"、"Visual Studio .NET 工具",然后选择"Visual Studio .NET 命令提示"。在窗口打开后,键入aspnet_regiis /i。

       不需要吧,在程序的vs.net的vs.net tool 的 vs.net command prompt下
       输入:
       aspnet_regiis -r
       问题就可以解决了。
       仔细的看看 aspnet_regiis 的参数的意义
       查询参数 aspnet_regiis /all
       会列出所有的参数

步骤三

       1、当站点主目录没有创建应用程序:
       通过FP扩展+虚拟目录的方式来建立WEBAPP,步骤如下:
       (1)、右击站点---所有任务--配置服务器扩展
       (2)、建立虚拟目录***,并使其配置应用程序
       (3)、在VS中建立WEB项目,名称也为***
       (4)、通过通过FP扩展来建立WEB
       2、当站点主目录创建应用程序:
       第一种方法--FP扩展:
       (1)、右击站点---所有任务--配置服务器扩展
       (2)、在VS中建立WEB项目,名称自己随便定
       (3)、通过通过FP扩展来建立WEB
       第二种方法--WEB共享:
       (1)在IIS中将IP地址改为全部未分配
       (2)将地址改为127.0.0.1或LOCALHOST
       3、还不能建立时请试用下列方法:
       (1)“站点”---右键---“属性”---“所有任务”---“重新计算 Web 上的超链接”
             然后在vs.net下通过frontpage服务器扩展创建
         (2)指示要通过文件共享直接访问 Web 服务器上的项目文件;不需要在该服务器上安装 FrontPage 服务器扩展。
           安装 Visual Studio .NET 时,将创建一个“VS Developers”(VS 开发人员)用户组,并授予该用户组对
       inetpub\wwwroot 文件夹的读/写权限。想使用计算机上的文件共享创建 Web 项目的任何用户都需要添加到“VS
       Developers”(VS 开发人员)用户组中。新建的“VS Developers”(VS 开发人员)组没有任何成员,所以,即使是安装
       Visual Studio 的用户,也必须手动将自己添加到这个组中。
       如果不希望将 Visual Studio 安装到服务器上,可以通过 Visual Studio 安装程序仅安装服务器组件,以创建“VS
       Developers”(VS 开发人员)组。
         (3)win2003下:
       在VS.NET中,为了测试URL和UNC, VS.NET会在目录下面生成一个.tmp文件,然后通过HTTP对该文件发出请求。但是在IIS
       6中,出于安全考虑,tmp文件没有注册,默认情况下,会被block然后产生HTTP 404错误。
       解决这个问题,请您参阅下面的方法:
       1。打开IIS管理器。
       2。右键点击"Default Web Site"并选择Properties.
       3。 点击"Http Header".
       4。 点击"MIME Types".
       5。 点击“New”。
       6。 在Extension中,输入".tmp". (不需要引号)
       7。 在MIME Type中,输入 "Temp". (不需要引号)
       还有一种解决方法,您可以使用下面的命令行:
       %systemdrive%\inetpub\adminscripts\adsutil.vbs set w3svc/1/root/MimeMap
       .tmp,temp
       在创建Web Application时,VS.Net需要在创建路径下创建后缀名为.tmp的临时文件。
       当VS.Net创建好项目之后,就会以HTTP的方式向Web文件夹寻求项目文件,同时也寻求临时文件。由于windows2003在某些安装步骤下的 IIS没有把.tmp文件设置为MIME类型,所以IIS向VS.Net返回了未知文件类型的错误,即找不到文件。所以VS.Net认为你的IIS路径设置不对。


十四、试图运行项目时出错:无法在 WEB 服务器上启动调试。您没有调试该服务器的权限。
       验证您是服务器上“Debugger Users”组的成员。

       1.作为 Administrator 登录。
        
       2.运行 Administrator tools 中的 Computer management。
        
       3.选择 Local users and groups\groups 节点。
        
       4.双击右边窗格中的 Debugger Users 组。
        
       5.单击 Debugger users properties 对话框中的 Add 按钮。
        
       6. 键入用户帐户并单击 OK。
为了您的安全,请只打开来源可靠的网址

打开网站    取消

来自: http://hi.baidu.com/cswingbin/blog/item/f4a3c71ecf9c438186d6b646.html