Пользовательские разделы конфигурации - PullRequest
10 голосов
/ 13 мая 2009

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

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

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

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>

Ответы [ 5 ]

19 голосов
/ 13 мая 2009

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

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

<section name="MySection" type="My.Assembly.Type, My.Assembly" />
7 голосов
/ 13 мая 2009

Вам также следует ознакомиться с серией из трех частей Джона Риста о настройке .NET 2.0 в CodeProject.

Настоятельно рекомендуется, хорошо написано и чрезвычайно полезно!

Марк

1 голос
/ 08 декабря 2011

Пожалуйста, попробуйте с этим

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

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

1 голос
/ 08 декабря 2011

Пожалуйста, попробуйте следующий код:

<configSections>
    <sectionGroup name="pageAppearanceGroup">
         <section name="pageAppearance" type="Samples.AspNet.PageAppearanceSection,Samples.AspNet" allowLocation="true"         allowDefinition="Everywhere"       />
    </sectionGroup>     <!-- Other <section> and <sectionGroup> elements. -->
</configSections>  
0 голосов
/ 12 октября 2013

Получается, что при создании проекта в 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" />    

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...