安装、调试的常见问题与错误
Q:新建项目时出错:Visual Studio .NET 已检测到指定Web服务器运行的不是ASP.NET 1.1版。您将无法运行ASP.NET Web应用程序或服务。
A:http://support.microsoft.com/default.aspx?scid=kb;en-us;817267
---------------------------------------------------------------------------------------------------------------------------------
Q: 关于无法创建aps.web项目的解决办法
A:http://www.csdn.net/develop/Read_Article.asp?Id=19725
---------------------------------------------------------------------------------------------------------------------------------
Q: aspx项目不能调试
A:1、已经启动了一个调试进程(同时打开了两个项目,且有一个已经在调试):同时只能启动一个;
2、配置文件中debug="false":改成true;
3、虚拟目录没有建立应用程序(或者名称为空):在虚拟目录属性中“应用程序”点击创建
4、项目配置为Release:点菜单“生成”-配置,选择“debug”
5、“你没有调试服务器权限”:修改IE的安全设置,“自动使用当前用户名和密码登录”
如果还不行,参考MS的解决方法:
对照你的错误信息,应该在这个文档中能找到解决办法
http://www.gotdotnet.com/team/csharp/learn/whitepapers/howtosolvedebuggerproblems.doc
---------------------------------------------------------------------------------------------------------------------------------
Q:把.NET程序部署到没有安装.NET Framwork的机器上
A:http://www.microsoft.com/China/Community/program/originalarticles/TechDoc/deployNETApp.mspx
---------------------------------------------------------------------------------------------------------------------------------
Q:安装VS.NET 2003的时候,遇到 "无法访问windows 安装程序组件"的错误
A:根据提示,应该windows installer出了问题。
需要重新安装windows installer。
执行如下操作:
一、先用msiexec /unregserver 停掉windows installer服务。
二、下载InstMsiW.exe,用winrar解压开。进入目录。
三、右击msi.inf ,点击安装。
四、安装vs.net 2003
---------------------------------------------------------------------------------------------------------------------------------
Q:vc软件包不可用或未注册
A:
症状:
当建立一个WinForms应用程序时,收到下述错误信息:"VC软件包不可用或未注册".这个错误甚至会在看上去一个成功的安装之后出现.
起因:
如果Visual Studio.NET安装程序发现一些TLB文件和DLL文件已经存在的话,就不会再次在计算机中注册这些文件,因此
就有可能发生"VC软件包不可用或未注册"的提示.
在多数情况下,旧版本的的Visual Studio .NET容易引起这个错误,尤其是旧版本安装在另一个操作系统下.
解决方案:
要解决这个问题,需要运行Visual Studio .NET修复程序.由于修复程序会强制注册一些安装程序中没有被注册的项目,因此能更有效地解决这个问题.
按照下列步骤运行修复程序:
在开始中,指向"设置",点击控制面板,然后点击"添加/删除程序";
在列出的已安装程序列表中,点击Visual Studio .NET,然后点击"更改/删除";
点击Visual Studio .NET安装对话框1 2 3项目中的第二项;
点击"修复/重装",然后按照屏幕提示操作.
更多相关信息:
重现这个问题的做法
要重现这个问题,最好有装在独立分区上的两个操作系统.两个Windows XP Professional会达到这个目的.
在一个操作系统下安装Visual Studio .NET;
在另一个操作系统下Visual Studio .NET,安装过程中改变安装的缺省路径,以匹配第一次安装的路径.
两次安装结果都会宣告成功.
然后启动第二次安装的Visual Studio .NET(你就会发现这个问题的重现).
这种安装形式是永远不推荐的,即使两次安装选项完全相同,而且你也会以此节省磁盘空间,但这种方法出现潜在问题的机会是很大的.如果一个Visual Studio .NET改变了文件和注册选项,这些改变不会记录到另一个Visual Studio .NET中,以致造成出现不可预料结果的潜在危险.
引自: http://zhuonline.51.net/blogs/archives/000045.html
http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/q320/4/27.asp&NoWebContent=1
---------------------------------------------------------------------------------------------------------------------------------
Q:不能启动调试,灾难性错误(在 Visual Studio .NET 中调试 ASP.NET 应用程序时出现的常见错误)
A:http://support.microsoft.com/?id=306172
---------------------------------------------------------------------------------------------------------------------------------
Q:在生成安装和部署项目时收到“Unrecoverable Build Error”(不可恢复的生成错误)错误信息
A:http://support.microsoft.com/?id=329214
Q:Automation服务器不能创建对象:
A: 一直用得好好的vs.net编辑器,突然有一天在我新建一个工程时,进行到一半时,弹出"Automation 服务器不能创建对象",然后就停住了。
我到csdn上以"Automation"关键字查阅了C#版的问题,发现有很多朋友都遇上过,而回答的朋友大部分以为提问者问的是IE解析xml文件时的那个错误 (见 http://www.csdn.net/expert/topic/757/757297.xml )
看到几个回答此类问题的,都是遇到过这个问题的朋友,他们的答案是:重装vs.net都没有作用,最后重新装操作系统才将这个问题解决。
要我装操作系统真是要我的命,所以我一直用 Copy & Paste 工程文件来达到新建工程的目的。
直到有一天,我无意中点了 vs_setup.msi 来添加 vs.net 的帮助文档(后来才知道应该点setup.exe来添加的)。vs_setup.msi进行到一半,也是出错了,一看调试结果,是FileSystemObject创建失败(感谢上帝,这里的错误信息终于是友好些了)。
vs.net的错误 "Automation 服务器不能创建对象" 是不是也是这个导致的呢?
我突然想起,前几个月在网上听说可以禁止使用FileSystemObject对象,我当时都忘了怎么操作的了,反正当时一摆弄,具体怎么操作的我也忘了,从那起我也从来没有在我的程序里用过FileSystemObject了。到google上搜索,发现禁止FileSystemObject有3种方法(http://www.sometips.com/faqs/315.htm),第一种方法:修改注册表([HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{0D43FE01-F093-11CF-8940-00A0C9054228}\ProgID]
@="Scripting.FileSystemObject"),将FileSystemObject改成一个任意的名字,只有知道该名字的用户才可以创建该对象。我查看注册表,该处的名字还是 Scripting.FileSystemObject.
那么我的FSO为何不能用呢?我突然想起原来当时我用的是第二种方法,"运行Regsvr32 scrrun.dll /u,所有用户无法创建FileSystemObject"。 当时真是太狠了些。赶快运行 Regsvr32 scrrun.dll。我试着用vs.net 创建一个工程,一阵进度提示,再也没有那个该死的 "Automation 服务器不能创建对象"
其它解决方法相关帖子:
http://yj.sxedu.com.cn/bk/downloadsoft.asp?mclass=14&sclass=29&id=125&keyword=
http://www.csdn.net/develop/article/14/14928.shtm
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q323885
Q:Unable to start debugging on the web server
A:如果遇到这些错误,则需要考虑以下几个问题:
要检查的内容
远程服务器上的 Web 应用程序
存储在 Visual SourceSafe 中并使用 FrontPage 服务器扩展的 Web 应用程序
手动附加
要检查的内容
如果得到“无法在 Web 服务器上启动调试”错误,请尝试检查下列内容:
您是否正在运行一个允许 Visual Studio 调试器自动附加到 Web 应用程序的 Windows 版本?如果不是,则需要启动应用程序而不调试,然后手动附加到它。(有关更多信息,请参阅手动附加和 ASP.NET 调试:系统要求。)
您的 Web 应用程序是否具有 Web.config 文件?
Web.config 文件是否通过将 debug 属性设置为 true 而启用了调试模式?有关更多信息,请参阅 ASP.NET 应用程序中的调试模式。
Web.config 是否包含任何语法错误?您可以通过运行 Web 应用程序而不调试来检查是否存在语法错误。(从“调试”菜单中,选择“开始执行(不调试)”。)如果在 Web.config 中存在语法错误,则会显示详细信息。
您是否是“调试器用户”(Debugger Users) 组的成员?如果您作为管理员登录,则管理员是否在该组中?
您是否是通过指定特定的 IP 地址(如 100.20.300.400)而创建了项目?调试 Web 服务器要求 NTLM 身份验证。默认情况下,IP 地址被假定为 Internet 的一部分,而在 Internet 上不进行 NTLM 身份验证。若要更正这一问题:
创建项目时,指定 Intranet 上计算机的名称。
-或-
将 IP 地址 (http://100.20.300.400) 添加到您的计算机上的受信任站点列表中。(从 Internet Explorer 的“工具”菜单中,选择“Internet 选项”,然后选择“安全”选项卡)。
运行 IIS 服务器的计算机是否已安装了 Visual Studio .NET 远程组件?
IIS 是否是在安装了 Visual Studio .NET 之后才被安装在本地计算机(即运行 Visual Studio .NET 的计算机)上的?IIS 应在安装 Visual Studio .NET 之前安装。如果它是后来安装的,则可能需要修复 .NET 框架。
修复 .NET 框架
插入 Visual Studio .NET 光盘并运行
-或-
插入 Visual Studio .NET Windows 组件更新光盘并运行
是否正确地指定了项目起始页的 URL?扩展名和项目目录是否正确?
是否正确地设置了 IIS 安全设置?若要验证这一点,请检查“默认 Web 站点”设置。
检查“默认 Web 站点”的 IIS 安全设置
从“开始”菜单中,依次选择“程序”和“管理工具”,然后单击“Internet 服务管理器”(Windows 2000) 或“Internet 信息服务”(Windows XP)。
在“Internet 服务管理器”或“Internet 信息服务”对话框中,单击您的计算机的树控件 (Tree Control)。在“Web 站点”文件夹中,找到“默认 Web 站点”。
右击“默认 Web 站点”并选择“属性”。
在“默认 Web 站点属性”窗口中,选择“目录安全性”选项卡并单击“编辑”。
在“身份验证方法”对话框中,选择“匿名访问”和“集成的 Windows 身份验证”(如果尚未选择的话)。
单击“确定”以关闭“Internet 服务管理器”或“Internet 信息服务”对话框。
单击“确定”。
对于 ATL Server 应用程序,请验证 DEBUG 谓词是否与您的 ISAPI 扩展相关联。
对于 ASP.NET 应用程序,请确保应用程序的虚拟文件夹具有在“Internet 服务管理器”或“Internet 信息服务”中设置的“应用程序名称”。
为 Web 应用程序指定虚拟文件夹
从“开始”菜单中,依次选择“程序”和“管理工具”,然后单击“Internet 服务管理器”(Windows 2000) 或“Internet 信息服务”(Windows XP)。
在“Internet 服务管理器”或“Internet 信息服务”对话框中,单击您的计算机的树控件 (Tree Control)。在“Web 站点”文件夹中,找到此 Web 应用程序。
右击“默认 Web 站点”并选择“属性”。
在“默认 Web 站点属性”窗口中,选择“目录”选项卡。
在“应用程序设置”下,单击“创建”。
应用程序名称即出现在此框中。
单击“确定”关闭“属性”对话框。
单击“确定”以关闭“Internet 服务管理器”或“Internet 信息服务”对话框。
远程服务器上的 Web 应用程序
如果 Web 应用程序位于远程服务器上,请检查以下问题:
是否运行了正确的安装程序以便在服务器上安装 ASP.NET/ATL Server 和远程调试器组件?
您是否是服务器上的“调试器用户”(Debugger Users) 组的成员?您是否具有调试在系统帐户下运行的进程所必需的访问特权?
根据安全设置的不同,ASP.NET 应用程序可能在 inetinfo.exe(IIS 进程)下运行,也可能在 ASP 辅助进程 aspnet_wp.exe 下运行。默认情况下,aspnet_wp.exe 进程作为 SYSTEM 运行。若要调试在 aspnet_wp.exe 下运行的应用程序,您需要具有管理员特权或为 aspnet_wp.exe 编辑 machine.config 文件,以便 aspnet_wp.exe 在用户帐户下运行。若要调试在 inetinfo.exe 下运行的应用程序,您必须是运行 inetinfo.exe 的计算机上的管理员。
根据安全设置的不同,ATL Server 应用程序可能在 inetinfo.exe 下运行,也可能在 ATL 辅助进程 dllhost.exe 下运行。若要调试在 inetinfo.exe 下运行的应用程序,您必须是运行 inetinfo.exe 的计算机上的管理员,或者使用公共语言运行库应用程序设置将 dllhost 配置为作为特定用户运行。
您是否正在使用“终端服务器”尝试调试远程计算机上的 Web 应用程序?在 Windows XP 下,支持使用“终端服务器”对本机 Web 应用程序进行远程调试。而在 Windows 2000 或 Windows NT 下则不支持。
存储在 Visual SourceSafe 中并使用 FrontPage 服务器扩展的 Web 应用程序
如果 Web 应用程序存储在 Visual SourceSafe 中并且使用 FrontPage 服务器扩展作为它的 Web 访问模式,请检查以下问题:
Visual SourceSafe 是否与 FrontPage 服务器/Web 服务器位于同一台计算机上?如果是,则可以使用“集成身份验证”进行调试。(若要检查“集成身份验证”设置,请参阅此过程以检查前面的“默认 Web 站点”的 IIS 安全设置。)
解决这一问题的另一种方法是将 Web 访问模式从 FrontPage 更改为文件共享 (File Share)。
将 Web 访问模式更改为文件共享 (File Share)
在解决方案资源管理器中,右击项目名称,然后从快捷菜单中选择“属性”。
在“
在“Web 服务器连接”下,单击“Web 访问模式”,然后从列表框中选择“文件共享”。
单击“确定”以关闭“
手动附加
如果按照这些疑难解答步骤执行了相应操作,而在开始调试时仍然收到错误信息,则可能需要尝试通过手动附加来调试应用程序。
手动附加
启动应用程序而不调试。(从“调试”菜单中,选择“开始执行(不调试)”。)
附加到适当的 IIS 进程或辅助进程。默认情况下,对于 ATL Server 应用程序为 inetinfo.exe;对于 ASP.NET 应用程序为 aspnet_wp.exe。使用下面的过程来确定 ASP.NET 或 ATL Server 应用程序在哪个进程下运行。
检查 ASP.NET 应用程序在哪个进程下运行
使用 Visual Studio .NET 或其他文本编辑器打开应用程序的 machine.config 文件。
找到下面的进程模型属性:
enable
如果 enable 设置为 TRUE,则应用程序在 aspnet_wp.exe 下运行(这也是默认设置。)
如果 enable 设置为 FALSE,则应用程序在 inetinfo.exe 下运行。
检查 ATL Server 应用程序在哪个进程下运行
在解决方案资源管理器中,右击项目名称,然后从快捷菜单中选择“属性”。
在“
查看“应用程序保护”设置。
如果此设置为“低(IIS 进程)”,则应用程序在 inetinfo.exe 下运行。
如果此设置为“中等(池)”,则应用程序在 dllhost.exe 进程下运行(与其他放入池中的 ATL Server 应用程序相同)。
如果此设置为“高(独立)”,则应用程序在 dllhost.exe 进程下运行(与其他 ATL Server 应用程序不同)。
单击“确定”以关闭“
请参见调试脚本和 Web:错误和疑难解答
Q:web访问失败
此项目的默认web访问模式设置为文件共享,但无法从路径“D:\inetpub\bweb”打开“http://localhost/bweb”处的项目文件夹,返回的错误是:
无法打开Web项目“bweb”。文件路径“D:\inetpub\bweb”与URL“http://localhost/bweb”不符。这两者需要映射到不同的服务器位置。HTTP错误404:Not Found
A:1。打开IIS管理器。
2。右键点击"Default Web Site"并选择Properties.
3。 点击"Http Header".
4。 点击"MIME Types".
5。 点击“New”。
6。 在Extension中,输入".tmp". (不需要引号)
7。 在MIME Type中,输入 "Temp". (不需要引号)
Q:VS.NET调试问题
A:关于VisualStudio.NET里调试出现的一系列问题,例如没有权限调试Web服务器,不属于Debugger Users组、无法调试等情况,都可以在The VS7 Debugger doesn’t work. What can I do(http://blogs.msdn.com/mkpark/articles/86872.aspx)该文上找到答案。 我就碰到过没有权限在Web服务器上调试的情况,后来选中了IE的Internet选项->安全->Intranet->自定义级别->用户验证的“自动使用当前用户和密码登录”才解决无法调试的问题。怎么会想到VS.NET无法调试还要修改IE选项