vs.Net2003无法打开或创建Web应用程序若干解决办法.
昨天到今天搞了一整天,把人都要差点搞崩了! ,以后再也不能乱关机了,因为这次的大意,几乎所有的Net安装,调试问题都被我碰到了,还好,我一个个把他记录下来了,同时,在CSDN找了一些相关的解决方法,不敢独享,供大家相互学习交流之用。
起因是这样的,机子运行IE时假死,我用着不爽,就二话不说热启动,结果就出事了。
重新打开正在Vs2003.Net里面正在作的项目时,老半天没反应,机子变得异常慢,当然,出于职业的敏感,马上来了个Ctrl+Alt+Del,这下不好,CPU占用100%,一直高居不下,运行IE,老半天没反应。第一直觉,是不是中招了?
速度至上,关机重新启动,立马打开KV2006正版杀毒软件,杀了再说,将近2个小时的折磨,我的机子冰清玉洁,一个毒瘤的影子也没有(绝对没有毛片,我是五好青年)!乍会这样?再打来了个Ctrl+Del+Alt,查看任务管理器,看下有没有"外星人"侵入我方领土,在百度上看到windows这个任务管理器比较水,于是我又去下了一个据说是比较拽的aports来进行进程分析,起初怀疑是svshost.exe被强奸了!(很多文章说win2000只有2个这个东东,而我的走出了三个),把他close掉了,CPU还是100%,一个个进程都关了,结果还是一样的.----这样第一个可能性:机子中招了的可能性被排除!
由于一开始没有任何提示,只是CPU受折磨,但打开vs2003正常,我试着打开其它项目居然正常!难道是我的程序出问题?二话不说,把昨天的备份程序搞出来(这可是运行正常的),将现在的源文件重命名,把备份搞进去(我经常这样做,以前没有出现什么错),重新启动,打开project,问题依旧。。。。 第二个可能性:程序出问题的可能性也被排除!
难道就这样被折磨?在CSDN上发了一个求教贴,没有能够得到好的解决方案。总不能老等吧!
有网友说是用了代理上网而造成这个问题,我这机子重来没有用代理上网过啊!还有网友说是不是一些BT之类,电驴之类所造成的CPU资源问题,我二话不说就否定了,小生我从来不用BT电驴之类,乍会呢?还有一个网友贴到让我把SMTP虚拟服务器先关了,再启动,我按照他的方法试了一下,还是不行啊!新建项目呢??我一时没想到这个方法,可以新建一个项目把原来的代码引用过去就行啊!脑子里闪过一丝念头,打开Vs2003.Net,新建项目,KAO,完了,没动静,死了。又看了一下Ctrl+Alt+Del, CPU100%没得说,一条直线正在我眼前持续的划过......
我开始怀疑是不是IIS在作怪??发现在IIS下打开原来的项目也不行,CPU居然也是占用100%!反正都要死了,不搞白不搞,搞一下才知道。于是,重启机子,我把原来建项目时IIS自动所对应的虚拟目录删除掉,同时新建一个不同命名的项目,这下又出现了新问题:
无法找到脚本库:/aspnet_client/system-web/v1.14322/webuivalidation.js
这个问题不难,很好解决:
方法就是:
点击开始→运行:c:\winnt\microsoft.net\framework\v1.14322\aspnet-regiis -c
OK
这个问题解决了,我又觉得我应该把现在这个项目命名为原来的项目名称才行,这样重新引用原来的代码,应该就可以解决了吧!废话少说,行动再说----结果!不行!又恢复到原来的CPU100%了
郁闷,搞得自己有点窝火了!关机,重启第48次,我再打开VsNet2003,绝望中,反正都死了,死也要看到乍么个死法才行,我就打开这项目,等他CPU运行,看最后的结果是什么!蜗牛般的运行(状态栏中有“正在打开web服务器之类的文字提示)。。。大约过了30分钟(我泡的茶都喝了两大盅了),跳出一个对话框:
Visual Studio 无法创建或打开应用程序,因为此计算机没有运行web服务器,请先启动Web服务器,再继续下一步的操作
这这这简直是放屁,我的IIS明显打开的!在CPU100%的情况下,我又耐着性子,重新打开IIS查看一下,并重新启动一下IIS。同时在另一台机子上百度相关资料,有人说要把:wwwroot文件夹访问权限设置为everyone,这个没起到作用,因为我这文件夹本来就是共享出来的(当然,可能是针对的问题不同)。方法是:
权限问题,可能asp.net用户不具有对wwwroot的写操作。
解决途径:try:
控制面板--》管理工具--》计算机管理--》本地用户和组
然后将aspnet用户添加到管理员组。
经过这般折磨之后,我索性再次重启机子,看看这VS2003.Net又有什么新的不良反应出现,嘿,还真出现了
新的错误提示.
IIS 默认网站的主目录;本地路径设
置为“C:\Inetpub\wwwroot”。在局域网上,客户机可以用“http://localhost/Mydir/index.aspx”访问。为了方便客户机访问,我把IIS 默
认网站的主目录>本地路径设置为“C:\Inetpub\wwwroot\Mydir”。此时,客户机可以用“http://localhost/index.aspx”访问。但是,我在
VS.NET 2003 开发环境打开此项目(MyWeb) 时,出现如果如下问题:
无法从 Web 服务器获取项目文件。无法打开 Web 项目 “MyWeb”。文件路径“C:\Inetpub\wwwroot\Mydir”与URL
“http://localhost/Mydir”不符。这两者需要映射到相同的服务器位置。
HTTP 错误 404: Not Found
还有两个选项:
你希望做什么:
1使用不同的文件夹共享路径重试
2.尝试通过FrontPage服务器扩展打开项目
我想,这个问题应该是虚拟路径上的问题,对着其提示的路径,我打开IIS,发现默认站点的路径C:\Inetpub\wwwroot\,同时我的项目的路径也是正确的.无意中发现CPU也不占100%了,看来原来的问题是解决了,可新问题又出来了,就是没折,先CSDN一下社区的看有没相类似的问题,还好,一大堆的方法;
方法1.进入IIS->默认网站->右键点“属性”->目录安全性->身份验证和访问控制->编辑->将你的匿名登陆账户改为 Administrator 并输入密码
这个我试了,没有用啊
方法2::重装IIS
打开 Windows 组件向导。
单击“组件”中的“应用程序服务器”,然后单击“详细信息”。
在“应用程序服务器”对话框的“应用程序服务器的子组件”下,单击“Internet 信息服务 (IIS)”,然后单击“详细信息”。
在“Internet 信息服务 (IIS)”对话框的“Internet 信息服务 (IIS) 的子组件”下,执行以下任何一项操作:
要添加可选组件,请选中要安装的组件旁边的复选框。
要删除可选组件,请清除要删除的组件旁边的复选框。
单击“确定”,直到返回到“Windows 组件向导”。
单击“下一步”,然后单击“完成”。
这个我还是留着最后来用吧
方法3:选择"文件"菜单-->"打开Web上的项目",然后找到你放项目的磁盘(如e:\webfile)下,然后打开扩展名为.vbproj(cs的项目也类同).注意:不要打开.sln.
接下来重新生成解决方案就可以了.
这个我试了,好像也没作用,因为新建项目也不行,原来的也打不开
我就是用这个方法解决的
方法4:
A:1。打开IIS管理器。
2。右键点击"Default Web Site"并选择Properties.
3。 点击"Http Header".
4。 点击"MIME Types".
5。 点击“New”。
6。 在Extension中,输入".tmp". (不需要引号)
7。 在MIME Type中,输入 "Temp". (不需要引号)
唉,搞了老半天,终于搞出来了!在VS.net2003中的一些错误让我们百思不得其解,为了让大家在面对这些问题时有些招数,我就顺便把一些常见的问题都搜出来了,解雇对大家有帮助.
问题一:不能创建web应用程序
来源:http://dev.csdn.net/develop/article/19/19725.shtm
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路径设置不对。
问题二:aspx项目不能调试
原因及解决办法
1、已经启动了一个调试进程(同时打开了两个项目,且有一个已经在调试):同时只能启动一个;
2、配置文件中debug="false":改成true;
3、虚拟目录没有建立应用程序(或者名称为空):在虚拟目录属性中“应用程序”点击创建
4、项目配置为Release:点菜单“生成”-配置,选择“debug”
5、“你没有调试服务器权限”:修改IE的安全设置,“自动使用当前用户名和密码登录”
问题三:Automation 服务器不能创建对象
原因及解决办法
1.:修改注册表([HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{0D43FE01-F093-11CF-8940-00A0C9054228}\ProgID]
@="Scripting.FileSystemObject"),将FileSystemObject改成一个任意的名字
2.运行Regsvr32 scrrun.dll
问题四:无法在Web服务器上启动调试
原因及解决办法
1.Web应用程序是否具有Web.config文件?Web.config文件是否通过将debug 属性设置为true?
2.是否是“调试器用户”(Debugger Users)组的成员?
3.IE的Internet选项->安全->Intranet->自定义级别->用户验证的“自动使用当前用户和密码登录
问题五:
Web服务器报告了以下错误:“Http/1.1 400 Bad request
原因及解决办法
1.有两个ip地址。所以localhost出错,把iis里面的ip地址改成“全部未分配”就行
2.第一步将Asp.net在IIS中重新注册,运行如下命令: aspnet_regiis -i
第二步:进入IIS管理器,将“默认网站”-“属性”-“网站”,将“IP地址”改为“(全部未分配)”;点击“WEB服务扩展”,将“ASP.NET v1.1.4322 ”改为“允许”。
问题六:在下列情况下,Microsoft Visual Studio .NET 2003 无法打开现有的 ASP.NET 1.1 Web 项目: ? 在“Web 服务扩展”列表中将 ASP.NET 1.1 设置为“禁止”。
- 并且 -
在“Web 服务扩展”列表中将 ASP.NET 1.0 设置为“允许”。
并且 -
计算机正在运行 Microsoft Windows Server 2003。
当您尝试创建一个新的 ASP.NET 1.1 项目时,可能会收到以下错误信息:
Visual Studio .NET has detected that the specified Web server is not running ASP.NET version 1.1.You will be unable to run ASP.NET Web applications or services.
原因及解决办法
请在 IIS 6.0 中的“Web 服务扩展”列表中将 ASP.NET 1.1 的状态更改为“允许”。为此,请按照下列步骤操作: 1. 单击“开始”,指向“程序”,然后单击“控制面板”。
2. 双击“管理工具”,然后双击“Internet 信息服务 (IIS)”。
3. 单击“Web 服务扩展”。
4. 在细节窗格中,单击“Web 服务扩展”列表中的“ASP.NET v1.1.4322”。
5. 单击“允许”以将状态从“禁止”更改为“允许”。
如果你的IIS不是6.0的版本。可以使用如下方法:
-开始-所有程序-Microsoft Visual Studio .NET2003-Visual Studio.net 工具-Visual Studio .NET 2003 命令提示
打开上面的Cmd命令窗口后,输入:aspnet_regiis /i
问题七:尝试打开web项目,web服务器报告以下错误:http/1.1 500 Internal server error
原因及解决办法
1.使用代理上网
2.regsvr32 script.dll
3.第一步:先用添加/删除程序,把IIS组件中FRONTPAGE扩展服务,重新安装一遍.
第二步:到管理工具,INTERNET选项,默认站点,右键属性.主目录.把写入权限勾上,单击创建.确定
4.运行Regsvr32 scrrun.dll
问题八:
vs.net已经检测到制定的WEB服务器运行的不是ASP.NET1.1版,你无法运行ASP.NET WEB应用程序或服务
原因及解决办法:
1.原因:将IIS中“默认web站点”删除,自己新建了一个站点,运行正常,就是无法编译,新建也不成,出现非1.1版本错误,以前出现错误是因为,服务器使用了固定IP,而管理员将属性中的IP地址为指定的ip地址.
解决方法:1.当然先确定一下,是否真的装了1.1的版本,查看路径 C:\WINNT\Microsoft.NET\Framework\v1.1.4322 ,重新安装 aspnet_regiis,确定你的“Internet信息服务”中使用的是“默认web站点”并且其属性中的IP地址为“(全部未分配)”,而不是你己指定的ip地址,IE使用了代理的话,把 Bypass Proxy Server for local adresses勾上,
另:aspnet_regiis 的参数
问题九:http重定向请求失败
原因:是否在程序里面采用Forms验证,修改web.config里面的相关验证设置
问题十:vs.net开发asp.net新建项目时提示“无法与服务器建立连接
IIS的问题
运行C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i
问题十一:试图运行项目时出错:无法在web服务器上启动调试.未能启动Asp.net或Atl Server调试
解释说明
http://support.microsoft.com/?scid=kb;zh-cn;318465
在DOS命令窗口运行
进入WINNT\Microsoft.NET\Framework\v1.1.4322
cd C:\WINNT\Microsoft.NET\Framework\v1.1.4322
执行aspnet_regiis.exe /i
问题十二:VS 2003 新建项目时出现错误提示: VC 软件包不可用或未注册
要解决这个问题,需要运行Visual Studio .NET修复程序。由于修复程序会强制注册一些安装程序中没有被注册的项目,因此能更有效地解决这个问题。
按照下列步骤运行修复程序:
在开始中,指向“设置”,点击控制面板,然后点击“添加/删除程序”;在列出的已安装程序列表中,点击Visual Studio .NET,然后点击“更改/删除”;点击Visual Studio .NET安装对话框1 2 3项目中的第二项;
点击“修复/重装”,然后按照屏幕提示操作。
更多相关信息:重现这个问题的做法
要重现这个问题,最好有装在独立分区上的两个操作系统,两个Windows XP Professional会达到这个目的。
1、在一个操作系统下安装Visual Studio .NET;
2、在另一个操作系统下Visual Studio .NET,安装过程中改变安装的缺省路径,以匹配第一次安装的路径。(两次安装结果都会宣告成功)
3、然后启动第二次安装的Visual Studio .NET(你就会发现这个问题的重现)。
这种安装形式是永远不推荐的,即使两次安装选项完全相同,而且你也会以此节省磁盘空间,但这种方法出现潜在问题的机会是很大的。如果一个Visual Studio .NET改变了文件和注册选项,这些改变不会记录到另一个Visual Studio .NET中,以致造成出现不可预料结果的潜在危险。
另外,如果在重装系统后再重新安装VS.NET到重装系统前的相同目录下(没有删除此目录下原来的文件),也有可能会出现“VC软件包不可用或未注册”这个错误提示!
问题十三:尝试运行项目时出错:无法在 Web 服务器上开始调试
问题及解决方法:
1.调试 ASP.NET 项目
检查项目是否有有效的 Web.config 文件,Web.config 文件是否将“debug”设置为“true”,以及 debug 谓词是否与 .aspx 关联
2.调试 ISAPI 应用程序
调试 ISAPI 应用程序需要特别注意设置步骤。调试准备的一般步骤包括:
为服务器应用程序创建解决方案,带有交互运行服务的选项。
在“用户管理器”中设置权限。必须注销并重新登录以使权限生效。
停止并重新启动服务。
3
step1:.集成window身份验证
右击"我的电脑"->"管理"->"服务和应用程序"->"Internet信息服务管理器"
->"网站"->"默认网站"->"属性"->"目录安全性"选项卡->"身份验证和访问控制块"->"编缉"->选中"集成windows身份验证"(针对win2003系统,其它系统大体相同)
step2.集成身份验证后,对匿名用户使用下列windows用户帐户,
用户名为 机器名\IUSR_机器名,密码系统自动添加。此用户属于Guests用户组,不能更改。
匿名访问 Internet 信息服务的内置帐户
step3.登录用户隶属于Debuger Group组和Adminstrator组(调试权限和对文件完全控制权限), ASPNET用户隶属于Administrator组(操作apsx文件权限)
step4.在IE里 自动使用当前用户名和密码登录(要注销重新登录才有效)
"工具"->"Internet选项"->"自定义级别"->"自动使用当前用户名和密码登录"
step5.检查 “保持HTTP连接”复选框是否选中,如果没有,选中。
step6:.没有创建应用程序
控制面板——>管理工具——>Internet信息服务——>找到你的项目
——>属性——》虚拟目录 选项,下面有一个 <应用程序名>,后面有一个<按钮>,
看一下是创建还是删除,如果是创建,点击一下,按钮就会变为删除,然后保存.
在程序的vs.net的vs.net tool 的 vs.net command prompt下 查询参数 aspnet_regiis /all
暂时就这么多吧,以后再加上去,希望能对大家有用:)
还有一些MSDN上的相关东东,放上来给大家,看下在遇到问题时,对您一点帮助
Visual Studio .NET 中的 Web 项目和源代码管理集成
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/sccvs70 ... ntrolintegrationinvisualstudionet_convert.asp
Q:不能启动调试,灾难性错误(在 Visual Studio .NET 中调试 ASP.NET 应用程序时出现的常见错误)
A:http://support.microsoft.com/?id=306172
---------------------------------------------------------------------------------------------------------------------------------
Q:在生成安装和部署项目时收到“Unrecoverable Build Error”(不可恢复的生成错误)错误信息
A:http://support.microsoft.com/?id=329214