asp.net 4.0安装之后,网站的默认版本不能更改

昨,今两天整了个iis.我的机子上安装了.net 2.0 和.net 4.0 ,配置iis的时候,想把默认网站的asp.net version 改为.net 2.0,可是老改不了.运行网页的时候,提示如下错误:

Exception Details: System.Configuration.ConfigurationErrorsException: The application domain or application pool is currently running version 4.0 or later of the .NET Framework. This can occur if IIS settings have been set to 4.0 or later for this Web application, or if you are using version 4.0 or later of the ASP.NET Web Development Server. The <compilation> element in the Web.config file for this Web application does not contain the required 'targetFrameworkMoniker' attribute for this version of the .NET Framework (for example, '<compilation targetFrameworkMoniker=".NETFramework,Version=v4.0">'). Update the Web.config file with this attribute, or configure the Web application to use a different version of the .NET Framework.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[ConfigurationErrorsException: The application domain or application pool is currently running version 4.0 or later of the .NET Framework. This can occur if IIS settings have been set to 4.0 or later for this Web application, or if you are using version 4.0 or later of the ASP.NET Web Development Server. The <compilation> element in the Web.config file for this Web application does not contain the required 'targetFrameworkMoniker' attribute for this version of the .NET Framework (for example, '<compilation targetFrameworkMoniker=".NETFramework,Version=v4.0">'). Update the Web.config file with this attribute, or configure the Web application to use a different version of the .NET Framework.]
   System.Web.Compilation.MultiTargetingUtil.InitializeTargetFrameworkNameFor20Or35() +3027223
   System.Web.Compilation.MultiTargetingUtil.InitializeTargetFrameworkName() +101
   System.Web.Compilation.MultiTargetingUtil.EnsureFrameworkNamesInitialized() +95
   System.Web.Compilation.BuildManager.Initialize() +192
   System.Web.Compilation.BuildManager.InitializeBuildManager() +246
   System.Web.HttpRuntime.HostingInit(HostingEnvironmentFlags hostingFlags, PolicyLevel policyLevel, Exception appDomainCreationException) +484

[HttpException (0x80004005): The application domain or application pool is currently running version 4.0 or later of the .NET Framework. This can occur if IIS settings have been set to 4.0 or later for this Web application, or if you are using version 4.0 or later of the ASP.NET Web Development Server. The <compilation> element in the Web.config file for this Web application does not contain the required 'targetFrameworkMoniker' attribute for this version of the .NET Framework (for example, '<compilation targetFrameworkMoniker=".NETFramework,Version=v4.0">'). Update the Web.config file with this attribute, or configure the Web application to use a different version of the .NET Framework.]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9596904
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +91
   System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +262

Server Error in '/PBOMainWebBU' Application.

The application domain or application pool is currently running version 4.0 or later of the .NET Framework. This can occur if IIS settings have been set to 4.0 or later for this Web application, or if you are using version 4.0 or later of the ASP.NET Web Development Server. The <compilation> element in the Web.config file for this Web application does not contain the required 'targetFrameworkMoniker' attribute for this version of the .NET Framework (for example, '<compilation targetFrameworkMoniker=".NETFramework,Version=v4.0">'). Update the Web.config file with this attribute, or configure the Web application to use a different version of the .NET Framework.

 


Version Information: Microsoft .NET Framework Version:4.0.20506; ASP.NET Version:4.0.20506.1

在网上google,找到两种解决方案.

一:

打开web.config文件,修改:

给 <system.web>中增加如下内容:


   <compilation debug="true" defaultLanguage="c#" targetFrameworkMoniker=".NETFramework,Version=v4.0" />

 

二:

ERROR: The application domain or application pool is currently running version 4.0 or later of the .NET Framework.

After installing Visual Studio 2010 beta1 and .NET framework 4.0 I was so exciting during exploring new features.

But, when I opened old VS.NET 2008 project made in .NET Framework 3.5, run it, and oooops I got error:

“The application domain or application pool is currently running version 4.0 or later of the .NET Framework. This can occur if IIS settings have been set to 4.0 or later for this Web application, or if you are using version 4.0 or later of the ASP.NET Web Development Server. The <compilation> element in the Web.config file for this Web application does not contain the required 'targetFrameworkMoniker' attribute for this version of the .NET Framework (for example, '<compilation targetFrameworkMoniker=".NETFramework,Version=v4.0">'). Update the Web.config file with this attribute, or configure the Web application to use a different version of the .NET Framework.”

The suggestion “update the Web.conifg file” is not appropriate because target framework in my project is .NET Framework 3.5 and there is NO such property as “targetFrameworkMoniker”.

After one hour investigation I finally found the solution:

1. Open IIS 7.0 Manager

2. Open “Basic settings” and find Application Pool Name

image

3. Open Application Pools

4. You can see that after installing .NET framework 4.0 all Application pools are updated to run under .NET Framework v4.0

image

5. Find application pool from step 2, click Basic (or Advanced) Settings from the right panel.

image

6. AND FINALY change it to “.NET Framework v2.0.50727” click “OK

7. THAT’S IT !!!

P.S. Sometimes you should reset your IIS to refresh your changes.

Cheers :)

这两种方法也算是具有代表性.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值