System.TypeInitializationException: «Инициализатор типа для «» вызвал исключение.» в проекте WinUI 3C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 System.TypeInitializationException: «Инициализатор типа для «» вызвал исключение.» в проекте WinUI 3

Сообщение Anonymous »

Мне нужно перестроить проект WinForm в WinUI 3, чтобы перепроектировать интерфейс в xaml.
Проект содержит класс с именем BaslerPylonCamera, который использует Basler. Pylon.dll как одна из ссылок.

Код: Выделить всё

BaslerPylonCamera
в двух проектах в основном одинаковы, за исключением переменных, связанных с интерфейсом.
Проект WinForm работает нормально. Но если я попытаюсь запустить проект WinUI 3, произойдет ошибка.
Ниже приведены подробности:

System.TypeInitializationException
HResult =0x80131534
Message=Инициализатор типа '' вызвал исключение.
Source=DeviceBaslerGigeCCD
StackTrace:
at DeviceBalserGigeCCD.BaslerPylonCamera..ctor( ) в \CRHandlerCCDTest_240723\DeviceBaslerGigeCCD\BaslerPylonCamera.cs:line 69
в CRHandlerCCDTest.MainWindow..ctor() в \CRHandlerCCDTest_240723\CRHandlerCCDTest\MainWindow.xaml.cs:line 33
в CRHandlerCC DTest.App.OnLaunched (аргументы LaunchActivatedEventArgs) в \CRHandlerCCDTest_240723\CRHandlerCCDTest\App.xaml.cs:line 44
в Microsoft.UI.Xaml.Application.Microsoft.UI.Xaml.IApplicationOverrides.OnLaunched(LaunchActivatedEventArgs args)
в ABI .Microsoft.UI.Xaml.IApplicationOverrides.Do_Abi_OnLaunched_0(IntPtr thisPtr, IntPtr args)
Это исключение изначально было создано в этом стеке вызовов:
[Внешний код]
Внутреннее исключение 1:
ModuleLoadException: модуль C++ не удалось загрузить во время инициализации процесса.
Внутреннее исключение 2:
SEHException: внешний компонент выдал исключение.

Ошибка произошла в начале.
Вот коды:

Код: Выделить всё

MainWindow.xaml.cs
в проекте WinUI 3

Код: Выделить всё

using DeviceBalserGigeCCD;
using Emgu.CV;
using Microsoft.UI.Xaml;
using Microsoft.UI.Dispatching;
using Microsoft.UI.Xaml.Controls;
using Microsoft.UI.Xaml.Media.Imaging;
using ShareAPI;
using System;
using System.Drawing;
using System.IO;
using System.Threading;

namespace CRHandlerCCDTest
{
/// 
/// An empty window that can be used on its own or navigated to within a Frame.
/// 
public sealed partial class MainWindow : Window
{
ACCD ccd = new BaslerPylonCamera(); // The error occured here
// ACCD is an abstract class for CCD

/* Some parameters */

public MainWindow()
{
this.InitializeComponent();

//...
}

/* Other methods */
}
}
Я искал несколько решений:
Решение для TypeInitializationException: инициализатор типа для '' выдал исключение
Исключение инициализации типа WPF в C#
Исключение TypeInitializationException не было обработано пользовательским кодом
очистите и перестройте проект, но ничего не помогло. >
Как исправить эту ошибку?

Изменить
Я проверил событие Windows Лог и вот исключения:
  • Система

    Поставщик
    [ Имя] Ошибка приложения
    [ Guid] {a0e9b465-b939-57d7-b27d-95d8e925ff57}< /p>
    EventID 1000
    Версия 0
    Уровень 2
    Задача 100
    Код операции 0
    Ключевые слова 0x8000000000000000
  • TimeCreated
    [ SystemTime] 2024-07-31T05:26:08.7636580Z
    EventRecordID 335071
    Корреляция< /p>
  • Выполнение
    [ ProcessID] 42500
    [ ThreadID ] 14784
    Приложение канала
    Компьютер
  • Безопасность
    [ID пользователя] S-1-5-21-178552597-1107329665-3621315115-1857

  • EventData
    Имя приложения CRHandlerCCD_240729.exe
    AppVersion 1.0.0.0
    AppTimeStamp 661f0000
    ИмяМодуля Microsoft.ui.xaml.dll
    ModuleVersion 3.1.5.0
    ModuleTimeStamp 73620e9d
    ExceptionCode c000027b
    FaultingOffset 00000000004051c5
    ProcessId 0x44a0
    ProcessCreationTime 0x1dae30a232106af
    AppPath \CRHandlerCCD_240729\CRHandlerCCD_240729\bin\x64\Debug\net8.0-windows10.0.19041.0\win-x64\AppX\CRHandlerCCD_240729.exe
    ModulePath C:\Program Files\ WindowsApps\Microsoft.WindowsAppRuntime.1.5_5001.178.1908.0_x64__8wekyb3d8bbwe\Microsoft.ui.xaml.dll
    IntegratorReportId 656ff57b-608f-4d84-8450-d7012cc74221
    PackageFullName 417b56fc-e3df-430a-939a-76afb6c4b4a3_1.0.0.0_x64__vr48ag13rqvjp
    PackageRelativeAppId App
Изменить 2
Я увидел комментарий к этому вопросу, поэтому нажимаю «Отладка» --> Исключения и установите флажки «Исключения C++», пересоберите и запустите проект.
Затем я получил эту ошибку до появления исходной:

Исключение, созданное по адресу 0x00007FFCDCE4FABC в CRHandlerCCD_240729.exe:
Исключение Microsoft C++: [перегенерировать] в ячейке памяти
0x0000000000000000.


Подробнее здесь: https://stackoverflow.com/questions/788 ... le-threw-a
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • System.TypeInitializationException: «Инициализатор типа для «» вызвал исключение.» в проекте WinUI 3
    Anonymous » » в форуме C#
    0 Ответы
    50 Просмотры
    Последнее сообщение Anonymous
  • System.drawing.common инициализатор типа для 'gdip' вызвал исключение
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • TypeInitializationException: Тип инициализатор для '' бросил исключение
    Anonymous » » в форуме C#
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Инициализатор типа MyClass вызвал исключение
    Anonymous » » в форуме C#
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Инициализатор типа для Tensorflow.Binding вызвал исключение
    Anonymous » » в форуме C#
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»