无法识别的属性“targetFramework”。请注意属性名称区分大小写。
配置错误
说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。
分析器错误消息: 无法识别的属性“targetFramework”。请注意属性名称区分大小写。
源错误:
行 6: <configuration> 行 7: <system.web> 行 8: <compilation debug="false" strict="false" explicit="true" targetFramework="4.0"/> 行 9: </system.web> 行 10: <connectionStrings> |
源文件: D:\Foru\web.config 行: 8
分析:主要原因IIS中是应用程序池的版本与你开发使用的.netFramework版本不一致。一般一个网站对应一个应用程序池,并与网站同名。visual studio 2010默认安装对应的.netFramework 是4.0,而本机上一般是2.0版本。所以不匹配。
解决方法:在IIS中点击应用程序池,找到你的网站的应用程序池,右键高级设置 .netFramework 改成V4.0就可以了。
再次打开这个网站,就没有这样的错误了
-----------------------------------------------------------------------------------------------------------------
问题1:用VS2010打开原来用VS2012创建的Webservice项目,提示创建虚拟目录失败
问题2:直接启动IIS,无法启动,提示“另一个程序正在使用此文件,进程无法访问”
原因:80端口被占用
解决办法:停止占用80端口的程序(服务)
解决步骤:
1、cmd中运行netstat -ano 查看全部占用端口的程序(服务),参数o代表显示进程PID
2、在显示结果的第一列里找到占用80端口的进程,我这里是第一行 :本地地址 0.0.0.0:80 。如果cmd中不能显示全部信息,可以在cmd窗口的上方右键---属性,修改命令记录缓冲区大小和屏幕缓冲区大小高度。
3、在任务管理器里的服务标签页中找到PID对应的服务,我这是Apach,也不知道装什么软件装上的,这就很自然能够解释为什么也占用80端口了
4、在管理工具--服务中直接禁用Apach的服务。
IIS可以正常启动,问题2解决。
但问题1没有解决,仍然报错:创建虚拟目录失败 错误:在本地计算机行,未能找到服务器 只有本地IIS服务器支持创建虚拟目录
用VS2010创建新的web应用程序,一切正常可以运行,说明问题不在VS2010本身。
用记事本打开webservice项目的csproj文件,删除其中“<IISUrl>http://localhost:2727/</IISUrl>”行,保存后,用VS2010可以正常打开,并运行。问题1解决。
---------------------------------------------------------------------------------------------------------------
IIS启动失败,手工启动它,提示:“另一个程序正在使用此文件,进程无法访问!”
怀疑80端口被其他程序占用,改为8080后正常。
在DOS下输入: netstat -ano
查看80端口信息中的PID号,然后打开任务管理器查看对应PID的程序名称。
打开任务管理器,点击“查看”/选择列,勾选“PID(进程标识符)”,然后单击“进程”标签,找到80端口对应的pid,就可以看到是那个程序占用的了,最后发现是迅雷占用了80端口。更改这个程序的port,再重启这个程序,使更改生效。再次启动iis,一切ok。
百度得知 如迅雷下载有时会占用80端口,且当占用80端口下载时速率会大幅提升。
iis提示“另一个程序正在使用此文件,进程无法访问”解决办法
郁闷,今天碰到重启后iis里的一个站点无法打开(一共一个站点),iis提示“另一个程序正在使用此文件,进程无法访问”,汗
怎么会呢,还有谁会使用这个文件呢。。
打开cmd瞅下netstat -obna
哇,迅雷怎么还监听(listening)80端口呢,不光80,连443,等还有一些端口在监听!!
看啦看确实有人连接,不过也不至于一直监听着啊,!!
为啦验证猜测属实:把迅雷关掉,启动站点(哇,可以啦),接着关掉站点,启动迅雷,再启动站点,没问题。
问题已经很明了啦:iis提示那样的信息就是端口被其他程序占用,但iis建的新站点使用已经分配给存在站点的端口的时候提示是“该端口已经被占用”。区别真大!!