下面这行错误的原因是什么?
<system.web>
<globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" culture="fa-IR" uiCulture="fa-IR" />
<compilation targetFramework="4.0" debug="true">
<assemblies> <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
答案 0 :(得分:33)
通过使用aspnet_regiis.exe重新注册aspNet,提到了这个解决方案的问题。但这对我没用。
虽然这是一个有效的解决方案(如美妙地解释here)
但它无法与Windows 8一起使用。
对于Windows 8,您需要Windows功能并启用“.Net Framework 3.5”和“.Net Framework 4.5高级服务”下的所有内容。
由于 NEHA
答案 1 :(得分:22)
当您在启用IIS之前安装.Net 4,或者在注册.Net 4之后注册WCF时会发生这种情况。在任何一种情况下,您的应用程序池都将运行.Net 2.0(这是.Net 3所需的CLR版本)如果您已经注册了安装ASP.Net 3.5的WCF,或者如果您在.Net 4之后安装了IIS则默认注册。)
网上有很多对此的引用,例如: MSDN博客: http://blogs.msdn.com/b/webtopics/archive/2010/04/28/system-typeloadexception-for-system-servicemodel-activation-httpmodule-in-asp-net-4.aspx
修复是使用aspnet_regiis.exe工具从正确的(32位或64位)Framework文件夹(64位服务器上的Framework64)重新注册ASP.Net 4,例如
aspnet_regiis.exe -iru
答案 2 :(得分:7)
对于Windows 8,您需要使用Windows功能并启用.Net Framework 3.5
和.Net Framework 4.5 Advanced Services
下的所有内容 - &gt; Enable Everything
答案 3 :(得分:2)
对于Windows 8上面的配置 控制面板 - &gt;程序 - &gt;窗口功能开/关 启用“.net Framework3.5”和“.net Framework 4.5高级服务”下的所有内容 对我来说很好。
感谢Madhavi.B
答案 4 :(得分:2)
我在我们的一个客户管理的服务器上遇到此问题。我没有权限运行aspnet_regiis.exe工具。作为一种解决方法,我做了以下事情:
aspNetCompatibilityEnabled="true"
标记中删除了<serviceHostingEnvironment>
[AspNetCompatibilityRequirements]
不幸的是,这意味着,例如HttpContext.Current
变为null
,我可以通过将所有HttpContext.Current.Server.MapPath
次调用重写为System.Web.Hosting.HostingEnvironment.MapPath
来修复我的网络服务
希望这有助于某人。
答案 5 :(得分:0)
在Windows Server 2008 R2 x64上安装Windows Management Framework 3.0 / PowerShell 3.0 sp1(KB2506143)后,我们立即浮现了这个问题。 Windows Update随后也会立即安装KB2736422,KB2756921和KB2656411。
我们的解决方案是首先卸载KB2506143(以及随附的三个更新),然后按照Ed209上面的响应中的建议运行aspnet_regiis.exe -iru。这两个步骤都是解决问题的必要步骤。谢谢你,Ed209。
答案 6 :(得分:0)
appcmd.exe set config -section:system.webServer/modules /[name='ServiceModel'].preCondition:"managedHandler,runtimeVersionv2.0" /commit:apphost
为我工作