位置:海鸟网 > IT > ASP.NET >

用VS.NET打开或创建web项目出错的解决办法

最近在研究以DotText为原型的中文Blog系统CnBlogsDotText。之前用VS.NET打开CnBlogsDotText的项目文件CnBlogsDotText.sln(或DottextWeb.csproj),总是提示说"Visual Studio .NET 无法创建或打开应用程序 。问题很可能是因为本地 Web 服务器上没有安装所需的组件。请运行Visual Studio .NET安装程序并添加Web开发组件"。图片如下:



  用google搜索,找到mill的个人Blog上有一篇文章给出了比较正规的解决办法,地址是:。为了方便读者,在这里给出全文:

为 Web 开发重新配置计算机

注意 以下所有步骤都是在 Web 服务器计算机上发生的。
1. 确认已安装 IIS。方法之一是打开"控制面板",然后选择"Internet 服务管理器"。如果已安装 IIS,您将能够使用此实用工具停止和启动它。
如果未安装 IIS,则在 Windows"控制面板"上,选择"添加或删除程序",然后选择"添加/删除 Windows 组件"。在列表中,选择"Internet 信息服务 (IIS)"并继续安装。有关详细信息,请参见 Windows 帮助。

安全说明 在安装 IIS 时,强烈建议您确保 Web 服务器计算机的安全。有关详细信息,请参见属于安装文档的文件 WebServer.htm。该文件在安装 CD 上的位置为 Disk1SetupWebServer.htm。安装 Visual Studio 后,在硬盘的 %install%CSetupMMWebServer.htm 处也可找到该文件。
2. 安装或重新安装 .NET Framework。运行 Visual Studio.NET 安装并选择选项 1"Windows 组件更新"。
注意 如果您确定在 Web 服务器计算机上安装了 .NET Framework 的当前版本,则可以跳过此步骤。
3. 打开 Windows 的"运行"窗口,然后键入以下内容以启用 ASP.NET:
aspnet_regiis.exe /i
提示 您可以从命令的正确目录中直接打开该命令窗口。从 Windows 的"开始"菜单,指向"程序"、"Visual Studio .NET 2003"、"Visual Studio .NET 工具",然后选择"Visual Studio .NET 命令提示"。在窗口打开后,键入 aspnet_regiis /i。
4. 安装 Visual Studio .NET 服务器组件。
a.再次运行 Visual Studio .NET 安装,并选择选项 2"Visual Studio .NET"。
提示 可以从"控制面板"运行该安装,方法是:选择"添加或删除程序",选择"Microsoft Visual Studio .NET"(具体名称会根据所安装的版本和语言而稍有不同),然后单击"更改/删除"。
b.选择"添加或删除功能"。
c.打开"服务器组件"节点并选中"Web 开发"。
d.单击"立即更新!"
5. 对 IIS 执行安全锁定,但随后启用 ASP.NET。
如果您使用的是在 Windows 2000 或 Windows XP 上运行的 IIS 5.0,可以使用 IIS 锁定工具(版本 2.1)。

在 Windows Server 2003 中,您可以在 IIS 管理器中设置应用程序的安全级别。有关使用 IIS 管理器和取消 ASP.NET 应用程序锁定的详细信息,请参见主题 Visual Studio .NET 检测到 IIS 中的 ASP.NET 应用程序和服务已经锁定。

  按照上文的提示,重装IIS和.NET Framework,结果依旧。后来又仔细对照了dudu在CNBlogsDotText的安装说明中的步骤,在IIS服务管理器中N进N出,建虚拟目录,删映射,添加映射,仍然搞不定。最后抱着死马当活马医的心态,用最苯的暴力手段,即用记事本(如果是二进制格式的文件,就UltraEdit软件)强行打开CnBlogsDotText.sln文件,结果在头3行看到如下的字符串:

Microsoft Visual Studio Solution File, Format Version 8.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DottextWeb", "http://localhost/DottextWeb/DottextWeb.csproj", "{D5711AB8-BE34-4D64-91A2-B68F310CA995}"

  顿时眼睛一亮,之前的郁闷一扫而光。原来在调试时,我在本机IIS服务管理器为CNBlogsDotText项目建立的虚拟目录的别名是"CNBlog",而VS.NET在加载CnBlogsDotText.sln文件时找的是DottextWeb虚拟目录,这样当然找不到了,结果VS.NET报了个误人千里的出错提示。原因找到后,手工修改上面的第二行,保存退出。再用VS.NET打开CnBlogsDotText.sln文件,结果一切顺利,整个项目的文件都老老实实的列在了右边的"解决方案资源管理器"中。

  我在网上下过不少公布的Web项目代码包,里面大都没有注释如何用IDE编辑器调试。当然,作者在使用IDE编辑器调试自己写的代码时,IDE编辑器是肯定不会报错的。但是编辑完保存后打包发布后,其它人在自己机器上调试时起了和作者不一样的项目名称时,往往就会出现各种莫名奇妙的出错提示。所以,我们在拿到他人发布的程序代码后,最好先用记事本打开其项目配置文件看看,当然,二进制格式的就用UltraEdit了。

  最后,又去mill的个人Blog逛了逛,结果发现不久前他也发了篇相当简短的英文日志,正好也是解决VS.NET的类似问题的,觉得我太罗嗦的可以去看看。地址是: