Answers:
如果您计划将其部署到具有在.net 4.0中运行的应用程序池的IIS,则需要清理web.config,其中包括指向.net 3.5的所有“定义”部分。失败的原因是因为这些节定义已包含在包括所有系统的.NET 4.0中的根web.config中(请参见%windir%\ microsoft.net \ framework \ v4.0.30319 \ config \ machine.config)。已经声明了web.extensions。
另一个快速解决方案是将应用程序池设置为2.0,就像开发计算机看起来那样。
如果像我一样,您需要定位到v4,但只能使用.net 3.5进行构建,请按照此处的说明进行操作。只需将您的web.config中的全部内容替换<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>
.net 4.0解决方案:在IIS服务器上管理应用程序。![在此处输入图像说明] [1]在框架上输入[!]在这里] [2]
统一管理中心SharePoint 2010
-----通过Google翻译-----
问题是因为默认情况下是池。Net 4.0解决方案:输入服务器IIS管理器以在应用程序池的右侧设置值![在此输入图像描述] [1]并更改框架版本![在此输入图像描述] [2]
这应该可以解决安装SharePoint管理中心2010的问题
将应用程序池设置为2.0,我做到了并且工作了。
死灵法师。
如果您在web.config中没有任何system.web.extensions config-sections或处理程序/模块条目,则可能导致此问题,因为您/他人在隐藏时复制了VisualStudio-Project(2013/2015/2017)-文件未隐藏。
因此,它不仅将复制.git,而且还将复制.VS
,其中包含一个IIS-Express applicationhost.config文件,该文件指向不存在的路径(或更糟的是,存在的路径,但指向该目录的web.config文件)没有相同的内容)...
解决方案:
删除.VS文件夹中的applicationhost.config文件。
或只是完全删除.VS文件夹。
Visual Studio将重新创建它。
我的应用程序是ASP.Net3.5应用程序(使用框架的版本2)。创建ASP.Net3.5应用程序后,Visual Studio会自动将scriptResourceHandler添加到web.config。.Net的更高版本将其放入machine.config。如果使用版本4应用程序池(取决于安装顺序,这是默认应用程序池)运行ASP.Net 3.5应用程序,则会收到此错误。
当我转向使用2.0版应用程序池时。错误消失了。然后,在提供WCF .svc时,我不得不处理该错误:
HTTP错误404.17-找不到请求的内容是脚本,并且不会由静态文件处理程序提供
经过一些调查,似乎我需要注册WCF处理程序。使用以下步骤:
显然,其他人也有这个问题。它们在Framework 4.0中重建。你能?
另外,请参阅有关确保IIS新鲜的信息。
就我而言,我想手动添加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>
正确的代码(带有rules标记):
<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>
这可能是您的错误答案。但这是我尝试解决自己的问题时对Google的第一招。照这样说...
我也发生了相同的错误消息,但是当我尝试通过Visual Studio运行IIS Express时。
我的问题是我错误地提交了applicationhost.config提交给TFS。后来,当我尝试在获取最新提交后在便携式计算机上运行该项目时。这就是错误发生的时间。
我发现虚拟目录路径错误。
<virtualDirectory path="/" physicalPath="C:\Users\giddan\Documents\Visual Studio 2015\Projects\ProjectName\DeV.ProjectName\DeV.ProjectName.Web" />
希望对大家有帮助!
这是我的第一篇文章,请保持温柔:)