部分或组名称'cachingConfiguration'已经定义 - 但在哪里?

时间:2010-05-11 16:13:50

标签: configuration caching enterprise-library iis-5

在Windows XP上我正在开发一个.NET 3.5 Web应用程序,它是WebForms和MVC2的组合(WebForms部分是遗留的,并且正在迁移到MVC)。当我使用ASP.NET Web服务器从VS2008运行它时,一切都按预期工作。

但是,当我在IIS中托管应用程序并尝试使用它时,我看到以下错误

Section or group name 'cachingConfiguration' is already defined.
Updates to this may only occur at the configuration level where it is defined.

Source Error: 
Line 24:     </sectionGroup>
Line 25:     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
Line 26:     <section name="cachingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Caching.Configuration.CacheManagerSettings,Microsoft.Practices.EnterpriseLibrary.Caching, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
Line 27:   </configSections>
Line 28: 

果然,如果我从web.config中删除了有问题的行(错误消息中的第26行),那么应用程序就可以正常运行。

但是,我真的需要找出重复定义的位置。在我的解决方案中无处可寻。还有什么地方呢?

修改

其他一些信息:

这是我正在处理的唯一应用程序,所以不是在IIS中添加虚拟目录,而是简单地重新命名默认网站的本地路径以指向我的站点。

1 个答案:

答案 0 :(得分:1)

您可以检查machine.config文件,因为Web应用程序会继承该文件的所有设置。在asp.net 4.0中,为了降低web.config file的复杂性,在那里移动了很多东西。它的路径是x:\$Windows$\Microsoft.NET\Framework\$version$\config\machine.config,其中x:\$Windows$是您的计算机上安装Windows的目录,$version$是.Net框架版本。