尝试在IIS7的默认应用程序池中部署。net 3.5网站,并将框架部分设置为4.0,我得到以下错误。

有一个副本 包含。扩展/脚本/ scriptResourceHandler”部分 定义的。

对这些冒犯的行进行评论也无济于事。你能给我点建议吗?


当前回答

我的决心有点愚蠢。

我安装了一个。net 3.5 创建另一个应用程序池并选择。net 3.5(它说2.0.5077 in 下拉菜单) 把我的网站加入了应用程序池 回收旧的和新的水池,工地开始工作。

结果是我没有安装3.5,尽管windows功能的开关说我安装了,并创建了另一个应用程序池来使用。我希望这能帮助到其他人。

其他回答

Necromancing。 如果你的web中没有任何system.web.extensions config-sections或handler/module条目。此问题是由于您/其他人复制了VisualStudio-Project(2013/2015/2017),而隐藏文件未隐藏。

因此,它不仅会复制.git,还会复制. vs,其中包含一个IIS-Express应用程序主机。配置文件,指向web。配置文件路径不存在(或者更糟,路径存在,但没有相同的内容)…

解决方案: 删除applicationhost。配置文件在。vs文件夹。 或者干脆删除。vs文件夹。 Visual Studio将重新创建它。

在我的情况下,我想手动添加urlrewrite规则,看不到明显的错误(我错过了<rules>标签):

错误代码:

    <rewrite>
      <rule name="some rule" stopProcessing="true">
        <match url="some-pattenr/(.*)" />        
        <action type="Redirect" url="/some-ne-pattenr/{R:1}" />
      </rule>
    </rewrite>    

  </system.webServer>
</configuration>

正确的代码(带有规则标签):

    <rewrite>
      <rules>
        <rule name="some rule" stopProcessing="true">
          <match url="some-pattenr/(.*)" />        
          <action type="Redirect" url="/some-ne-pattenr/{R:1}" />
        </rule>
      </rules>
    </rewrite>

  </system.webServer>
</configuration>

另一种避免此问题的方法可能会帮助其他人,即在可能的情况下将.net web服务构建到4.0或更高版本。

我的决心有点愚蠢。

我安装了一个。net 3.5 创建另一个应用程序池并选择。net 3.5(它说2.0.5077 in 下拉菜单) 把我的网站加入了应用程序池 回收旧的和新的水池,工地开始工作。

结果是我没有安装3.5,尽管windows功能的开关说我安装了,并创建了另一个应用程序池来使用。我希望这能帮助到其他人。

如果像我一样,需要以v4为目标,但只能使用。net 3.5构建,请遵循这里的说明。只需替换在你的网页。配置<configSections>的全部内容:

<configSections>
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
  <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
    <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
    <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions,  Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
      <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere"/>
      <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
      <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
      <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
    </sectionGroup>
  </sectionGroup>
</sectionGroup>