Разделы пользовательской конфигурации

В настоящее время я пытаюсь реализовать раздел пользовательской настройки в проекте, в котором я занят, и независимо от того, что я пытаюсь, я продолжаю получать ошибку ниже:

{ "Произошла ошибка создания обработчика раздела конфигурации для страницыAppearanceGroup/pageAppearance: Не удалось загрузить тип 'Samples.AspNet.PageAppearanceSection' из сборки 'System.Configuration, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a'. (E:\Three Nine Developments\lastfm\msdn\msdn\bin\Debug\Samples.Aspnet.vshost.exe.config строка 6)" }

Я скопировал код из этого MSDN Artricle:

http://msdn.microsoft.com/en-us/library/2tw134k3.aspx

Я все равно получаю ту же ошибку.

Я пробовал все советы/руководства в следующих статьях, но безрезультатно.
http://www.evanclosson.com/devlog/bettercustomerrorsinaspnetcustomconfigurationsection

http://geekswithblogs.net/akraus1/articles/64871.aspx

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

    <configuration>
  <!-- Configuration section-handler declaration area. -->
  <configSections>
    <sectionGroup name="pageAppearanceGroup">
      <section
        name="pageAppearance"
        type="Samples.AspNet.PageAppearanceSection"
        allowLocation="true"
        allowDefinition="Everywhere"
      />
    </sectionGroup>
    <!-- Other <section> and <sectionGroup> elements. -->
  </configSections>

  <!-- Configuration section settings area. -->
  <pageAppearanceGroup>
    <pageAppearance remoteOnly="true">
      <font name="TimesNewRoman" size="18"/>
      <color background="000000" foreground="FFFFFF"/>
    </pageAppearance>
  </pageAppearanceGroup>



</configuration>

Ответ 2

Я предполагаю, что вы скопировали код, но у вас разные имена сборок. Проводка конфигурации поможет.

Я бы также полностью использовал ваш тип в конфиге (что-то, что образец не показывает). Что-то вроде...

<section name="MySection" type="My.Assembly.Type, My.Assembly" />

Ответ 3

Попробуйте использовать следующий код:

<configSections>
    <sectionGroup name="pageAppearanceGroup">
         <section name="pageAppearance" type="Samples.AspNet.PageAppearanceSection,Samples.AspNet" allowLocation="true"         allowDefinition="Everywhere"       />
    </sectionGroup>     <!-- Other <section> and <sectionGroup> elements. -->
</configSections>  

Ответ 4

Попробуйте с этим

<configSections>
 <sectionGroup name="pageAppearanceGroup">
  <section name="pageAppearance"
           type="Samples.AspNet.PageAppearanceSection,Samples.AspNet"
           allowLocation="true"
           allowDefinition="Everywhere" />
 </sectionGroup>
 <!-- Other <section> and <sectionGroup> elements. -->
</configSections>  

Спасибо, Веди

Ответ 5

Итак, получается, что при создании проекта в Visual Studio он автоматически определяет корневое пространство имен (название проекта по умолчанию) для проекта. Таким образом, вы должны включить это корневое пространство имен в тип раздела, а также любые пользовательские пространства имен, которые вы определили в своем классе настроек.

Например, в случае исходного плаката рабочая конфигурация для них может выглядеть примерно так:

<section name="MySection" type="ROOT_NAMESPACE.Samples.AspNet.PageAppearanceSection, NAME_OF_ASSEMBLY" />

Если ROOT_NAMESPACE и NAME_OF_ASSEMBLY определены в свойствах проекта, как показано в этом снимке моего проекта.

assembly name and root namespace visual studio

В моем конкретном случае я явно не определял пространства имен в моем проекте. Таким образом, мой конфигурационный параметр раздела имел только корневое пространство имен, имя класса настроек и имя сборки как таковой;

<section name="programSettings" type="ShipmentImport.ProgramSettings, ShipmentImport" />    

Я знаю, что он пару лет опаздывает, но я надеюсь, что это заставит кого-то еще тратить часы на это, как я.