最近在研究asp.net,为了测试就想在Windows 7下部署IIS来测试和运行asp.net,开局不利,搞出一大堆错误,经多方查错,现在总算可以运行了。
首先是安装IIS支持asp.net,先是从网上找到安装选项,安装成功后我自己也截个完整的选项图上来:
然后是通过控制面板->管理工具->Internet信息服务(IIS)管理器来配置,先是添加自己的网站,指定自定义目录,不想使用默认的“Default Web Site”,因为配置不灵活。由于我把80端口分配给了php,所以添加网站时我把端口绑定成8080。
重启IIS服务并启动自已网站的服务后在自定义目录下添加个test.htm文件,就可以通过浏览器访问http://localhost:8080/test.htm了。
接下来在VS2010里新建一个Web Site工程(需要预先安装Web组件),选择C#模板的ASP.NET Web Site类型,保存目录指定到自己网站的自定义目录中,替换Web.config然编译运行,正常,不过IDE是使用ASP.NET Development Tool来运行的,浏览器地址是http://localhost:7196/asp.net/。
想脱离IDE测试环境直接运行,浏览器地址换成http://localhost:8080/访问,报错:
[Server Error in ‘/’ Application.
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: Unrecognized attribute ‘targetFramework’. Note that attribute names are case-sensitive.
Source Error:
Line 14:
Line 15: <system.web>
Line 16: <compilation debug="false" targetFramework="4.0" />
Line 17:
Line 18: <authentication mode="Forms">
|
Source File: E:\asp.net\web.config Line: 16]
在这里找到错误的解决办法,就是要手动注册asp.net 4.0 的.net framework:
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -i
(试过注册Framework64里的同名文件效果也一样)
再刷新页面,上面的错误解决掉了,不过又出新的错误:
由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面
在这里找到错误的解决办法,就是回到Internet信息服务(IIS)管理器,选中最顶上的计算机名,双击右边IIS下的“ISAPI 和 CGI 限制”图标,把刚注册的ASP.NET 4.0设成允许,默认是不允许,顺便把Framework64目录下的描述改成64bit以区分与32bit。
重新刷新页面,与通过ASP.NET Development Tool测试一样效果的页面出现了,OK。
Tags: C#/.NET