Разделы пользовательской конфигурации
В настоящее время я пытаюсь реализовать раздел пользовательской настройки в проекте, в котором я занят, и независимо от того, что я пытаюсь, я продолжаю получать ошибку ниже:
{ "Произошла ошибка создания обработчика раздела конфигурации для страницы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>
Ответы
Ответ 1
Вы также должны проверить серию из трех частей Jon Rista по конфигурации .NET 2.0 на CodeProject.
Очень рекомендуется, хорошо написано и очень полезно!
Марк
Ответ 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" />
Я знаю, что он пару лет опаздывает, но я надеюсь, что это заставит кого-то еще тратить часы на это, как я.