Имя раздела или группы 'cachingConfiguration' уже определено - но где? - PullRequest
2 голосов
/ 11 мая 2010

В Windows XP я работаю над веб-приложением .NET 3.5, которое представляет собой комбинацию WebForms и MVC2 (части WebForms являются устаревшими и переносятся в MVC). Когда я запускаю это из VS2008 с помощью веб-сервера ASP.NET, все работает как положено.

Однако, когда я размещаю приложение в 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: 

Конечно, если я удалю ошибочную строку (строка 26 в сообщении об ошибке) из моего web.config, тогда приложение будет работать правильно.

Однако мне действительно нужно выяснить, где это дублирующее определение. Это нигде в моем решении. Где еще это может быть?

Редактировать

Некоторая дополнительная информация:

Это единственное приложение, над которым я работаю, поэтому вместо добавления виртуального каталога в IIS я просто переназначил локальный путь веб-сайта по умолчанию, чтобы он указывал на мой сайт.

1 Ответ

1 голос
/ 12 мая 2010

Вы можете проверить файл machine.config, поскольку все его настройки наследуются вашим веб-приложением. В asp.net 4.0 многое было перемещено туда, чтобы уменьшить сложность web.config file. Путь к нему x:\$Windows$\Microsoft.NET\Framework\$version$\config\machine.config, где x:\$Windows$ - это каталог, в котором установлена ​​Windows на вашем компьютере, а $version$ - это версия .Net Framework.

...