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

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

Сообщение Anonymous »

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

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

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

Вот коды:

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

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 */
}
}
Исключения в Visual Studio
  • Исходная/первая ошибка

Ошибка произошла в начале.

System.TypeInitializationExceptionHResult=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
at CRH АндлерCCDTest .App.OnLaunched(LaunchActivatedEventArgs args) в \CRHandlerCCDTest_240723\CRHandlerCCDTest\App.xaml.cs:line 44
в Microsoft.UI.Xaml.Application.Microsoft.UI.Xaml.IApplicationOverrides.OnLaunched(LaunchActivatedEventArgs args)
at ABI.Microsoft.UI.Xaml.IApplicationOverrides.Do_Abi_OnLaunched_0(IntPtr thisPtr, IntPtr args)
Это исключение изначально было создано в этом стеке вызовов:
[Внешний код]
Внутреннее исключение 1:
ModuleLoadException: модуль C++ не удалось загрузить во время инициализации процесса.
Внутреннее исключение 2:
SEHException: внешний компонент выдал исключение.

  • Ошибки, которые я обнаружил/появились позже

Я видел комментарий к этому вопросу, поэтому нажимаю «Отладка -> Исключения» и устанавливаю флажки «ВКЛ. «Исключения C++», перестраиваю и запускаю. проект.
Затем я получил эту ошибку до появления исходной:

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


Исключения в WinDbg
Я проверил журнал событий Windows и вот исключения:
  • Ошибка — сбой приложения при попытке проигнорировать ошибку и запустить проект в VS
  • Система

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


  • EventData
    Имя приложения CRHandlerCCD_240729.exe
    AppVersion 1.0.0.0AppTimeStamp 661f0000
    Имя модуля Microsoft.ui.xaml.dll
    ModuleVersion 3.1.5.0
    ModuleTimeStamp 73620e9d
    ExceptionCode c000027b
    FaultingOffset 00000000004051c5
    ProcessId 0x44a0
    ProcessCreationTime 0x1DA330A232106AF < /p>
    apppath \ crhandlerccd_240729 \ crhandlerccd_240729 \ bin \ x64 \ Debug \ net8.0-windows10.0.19041.0 \ win-x64 \ appx \ net8.0-windows10.0.19041.0 \ win-x64 \ \ /p>
    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
  • Ошибка. Попробуйте запустить .exe< /strong>

Этот блог (на китайском языке) подал мне идею попробовать напрямую запустить .exe в \CRHandlerCCD_240723\CRHandlerCCD_240723\bin\x64\Debug \net6.0-windows10.0.19041.0\win10-x64 для получения исключений.
Я получаю исключение, но это не из-за Basler.Pylon. dll:

Невозможно загрузить DLL «Microsoft.ui.xaml.dll» или одну из ее зависимостей:
Не удалось найти указанный модуль . (0x8007007E)

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



1026
0
2
0
0
0x80000000000000

339030


Application




Application: CRHandlerCCD_240723.exe CoreCLR Version: 6.0.3024.21525 .NET Version: 6.0.30 Description: The process was terminated due to an unhandled exception. Exception Info: System.DllNotFoundException: Unable to load DLL 'Microsoft.ui.xaml.dll' or one of its dependencies: The specified module could not be found.  (0x8007007E) at CRHandlerCCD_240723.Program.XamlCheckProcessRequirements() at CRHandlerCCD_240723.Program.Main(String[] args) in \CRHandlerCCD_240723\CRHandlerCCD_240723\obj\x64\Debug\net6.0-windows10.0.19041.0\win10-x64\App.g.i.cs:line 29


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

Изменить
Я попытался упростить свой код и проект, чтобы изолировать проблему.
Затем я столкнулся с двумя разными проблемами в зависимости от целевой платформы.
  • x86 (32-разрядная версия): System.IO.FileNotFoundException[/b]
System.IO.FileNotFoundException
HResult=0x80070002

Сообщение=Не удалось загрузить файл или сборку 'Basler.Pylon, Version=1.2.0.0,
Culture=neutral, PublicKeyToken =e389355f398382ab'. Системе не удается найти указанный файл.
Source=240805_LightCodeDebugProject
StackTrace: at _240805_LightCodeDebugProject.BaslerPylonCamera..ctor() в \240805_LightCodeDebugProject\240805_LightCodeDebugProject\ BalserPylonCamera.cs: строка 63
в _240805_LightCodeDebugProject.MainWindow..ctor() в \240805_LightCodeDebugProject\240805_LightCodeDebugProject\MainWindow.xaml.cs:строка 31
at _240805_LightCodeDebugProject.App.OnLaunched(LaunchActivatedEventArgs args) в \240805_LightCodeDebugProject\240805_LightCodeDebugProject\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)
  • x64 (64-разрядная версия): System.TypeInitializationException
Это исходная проблема.

Basler.Pylon.dll находится в выходном каталоге как для x86, так и для x64.
При настройке x86 библиотека DLL не найдена. При настройке x64 инициализация типа завершается неудачей.

Подробнее здесь: 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 Ответы
    32 Просмотры
    Последнее сообщение Anonymous
  • System.drawing.common инициализатор типа для 'gdip' вызвал исключение
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • TypeInitializationException: Тип инициализатор для '' бросил исключение
    Anonymous » » в форуме C#
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Инициализатор типа MyClass вызвал исключение
    Anonymous » » в форуме C#
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Инициализатор типа для Tensorflow.Binding вызвал исключение
    Anonymous » » в форуме C#
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous

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