转贴地址:http://blog.donews.com/plrguo/archive/2005/10/12/585406.aspx
解决方案一:
1.确定有安装.net framework 1.1,可以查看目录,c:/winnt/microsoft.net/framework重启IIS,重启计算机(常规纠错方法)
2.如果你的Web服务器使用了固定IP:确定你的“Internet信息服务”中使用的是“默认web站点”并且属性中的IP地址为“(全部未分配)”,不是指定IP地址。不要删除默认web站点,如果删除了,也可以新建一个名称为“默认web站点”的目录。
3.如果IE使用了代理,“对于本地地址不使用代理服务器”勾上。
4.配置问题,从windows的“开始”菜单->程序->Visual Studio .NET 2003->Visual Studio .net 工具->Visual Studio .net命令提示,打开窗口,输入aspnet_regiis /i,稍等片刻,提示开始安装,结束安装,回到提示符下。
5.重装IIS。重装之后也要进行步骤4。
解决方案二:
昨天同事MM在调试一台装有.NET WEB服务器又出现了"Visual Studio .NET已检测到指定的Web服务器运行的不是ASP.NET 1.1 版.."的错误,叫我去帮忙搞,搞了半天,才搞定,到底是什么问题
原来她将IIS中“默认web站点”删除,自己新建了一个站点,运行正常,就是无法编译,新建也不成,出现非1.1版本错误,以前出现错误是因为,服务器使用了固定IP,而管理员将属性中的IP地址为指定的ip地址!现在也很有必要做个总结!
步骤尝试如下:
1.当然先确定一下,是否真的装了1.1的版本,查看路径 C:/WINNT/Microsoft.NET/Framework/v1.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文件,做好数据库备份工作!
又是工作中的一点经验,供大家参考,少走弯路!
确实是Bug
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 .NET 2003”、“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
会列出所有的参数