Приложение WPF перестало работать на запуске с TypeInitializationException

Сочетание zip (для создания возможностей для каждой позиции) и itertools.product (для циклического изменения возможностей в каждой позиции) делает это довольно легко: [1113 ]

from itertools import product

a = [1, 2, 3]
b = [4, 5, 6] 

for result in product(*zip(a, b)):
    print(*result, sep='')

Попробуйте онлайн!

zip просто составляют пары из (1, 4), (2, 5) и (3, 6); распаковка этих трех аргументов в product заставляет product циклически проходить каждый возможный выбор одного значения из каждой пары, создавая:

123
126
153
156
423
426
453
456

21
задан Adrian Clark 12 September 2008 в 07:06
поделиться

4 ответа

Спасибо @ima, Ваш ответ указал на меня в правильном направлении. Я использовал app.config файл, и он содержал это:

<configuration>
  <startup>
    <supportedRuntime version="v2.0.50727" sku="Client"/>
  </startup>
  <configSections>
    <section name="modules" type="Microsoft.Practices.Composite.Modularity.ModulesConfigurationSection, Microsoft.Practices.Composite"/>
  </configSections>
  <modules>
    <module assemblyFile="Modules/MyNamespace.Modules.ModuleName.dll" moduleType="MyNamespace.Modules.ModuleName.ModuleClass" moduleName="Name"/>
  </modules>
</configuration>

кажется, что проблемой был < startup> элемент, потому что, когда я удалил его, приложение хорошо работало. Я был смущен, потому что Visual Studio, 2008 добавил это, когда я установил флажок для использования "Клиентского Профиля", доступного в 3,5 SP1.

После некоторой слоняющейся без дела проверки и снятия выделения с полем я закончил с конфигурационным файлом как это:

<configuration>
  <configSections>
    <section name="modules" type="Microsoft.Practices.Composite.Modularity.ModulesConfigurationSection, Microsoft.Practices.Composite"/>
  </configSections>
  <modules>
    <module assemblyFile="Modules/MyNamespace.Modules.ModuleName.dll" moduleType="MyNamespace.Modules.ModuleName.ModuleClass" moduleName="Name"/>
  </modules>
  <startup>
    <supportedRuntime version="v2.0.50727" sku="Client"/>
  </startup>
</configuration>

, Который работает!

я не уверен, почему порядок элементов в app.config важен - но кажется, что это.

37
ответ дан 29 November 2019 в 06:35
поделиться

Вы используете .config файл? Если так, проверьте его на наличие ошибок. Ошибки инициализации такого вида часто инициированы недопустимым XML: при отсутствии ошибок в XAML, конфигурация XML является первым местом для взгляда.

8
ответ дан 29 November 2019 в 06:35
поделиться

У вас есть два раздела с именем «модули». Поместите оба определения модуля в один раздел под названием «модули».

0
ответ дан 29 November 2019 в 06:35
поделиться

Я столкнулся с похожей ситуацией. После недели поисков я нашел разрешение, и оно действительно сработало. Это решило 2-3 проблемы, возникающие из-за одной и той же проблемы.

Выполните следующие действия: Проверить (отсутствие) ключа WPF в реестре: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework Setup \ NDP \ v3.0 \ Setup \ Windows Presentation Foundation Моя проблема была связана с отсутствием вышеупомянутого ключа в реестре.

Вы можете изменять и использовать следующие данные в своем реестре: (Фактически, вы можете сохранять в файл и импортировать в реестр)

[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework Setup \ NDP \ v3.0 \ Setup \ Windows Presentation Foundation] @ = "WPF v3.0.6920.1453" "Версия" = "3.0.6920.1453" "WPFReferenceAssembliesPathx86" = "C: \ Program Files \ Reference Assemblies \ Microsoft \ Framework \ v3.0 \" "WPFCommonAssembliesPathx86" = "C: \ Windows \ System32 \" "InstallRoot" = "C: \ Windows \ Microsoft.NET \ Framework \ v3.0 \ WPF \" "InstallSuccess" = dword: 00000001 "ProductVersion" = "3.0.6920.1453" "WPFNonReferenceAssembliesPathx86" = "C: \ Windows \ Microsoft.NET \ Framework \ v3.0 \ WPF \"

Я уверен, что это сработает.

всего наилучшего.

С уважением,

Умеш

0
ответ дан 29 November 2019 в 06:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: