在ASP.Net中混合使用C#和VB.Net的错误
在使用.NET 4.x应用程序池中运行.NET 3.5项目时,会出现“存在重复的'system.web.extensions/scripting/scriptResourceHandler'部分定义”错误消息,因为.NET 4.x的machine.config已经包含了scriptResourceHandler部分。同时,如果在与machine.config相同的目录中检查web.config,ScriptResourceHandler也已在其中注册。
解决方法是在configSections中删除标有版本3.5.0.0的重复的scriptResourceHandler部分,并重新构建,或者如果不想升级项目,只需将IIS应用程序池更改为使用版本2.0即可。
当在.NET 4.x应用程序池中运行.NET 3.5项目时,会出现“存在重复的'system.web.extensions/scripting/scriptResourceHandler'部分定义”错误消息。这是因为.NET 4.x的machine.config中已经包含了scriptResourceHandler部分,并且与web.config中的部分重复。解决方法是删除configSections中重复的scriptResourceHandler部分,并重新构建,或者更改IIS应用程序池的版本为2.0。
参考链接:
- MSDN Blog: There is a duplicate scriptResourceHandler section defined
- IIS7 deployment - duplicate 'system.web.extensions/scripting/scriptResourceHandler' section
问题的原因是web.config文件中有重复的section定义,这是因为运行的是一个基于.NET 4.0的应用程序,而web.config中已经包含了这些定义。解决方法是删除web.config中的重复section定义。
文章如下:
在ASP.Net中混合使用C#和VB.Net时出现了错误。请注意错误消息。您可以在同一个项目中运行C#和VB.Net:

正如错误消息所述:
>存在重复定义的'system.web.extensions/scripting/scriptResourceHandler'部分。问题是因为您正在运行一个基于.NET 4.0的应用程序,而该应用程序在.NET 3.5中。
出现错误的原因是您的完整的web.config文件中已经包含了在.NET 4.0默认配置(位于%windir%\microsoft.net\framework\v4.0.30319\config\machine.config)中已经包含的部分定义。关于"The issue is because your are running a .net 3.5-based application in Net 4.0"的含义我不清楚,因为我使用的是4.6.1框架。是否意味着我有一个标签的重复定义或者其他重复的内容?