Matlab Runtime 2024B TypeInitializationException в COM-зарегистрированной библиотеке управления формами WindowsC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Matlab Runtime 2024B TypeInitializationException в COM-зарегистрированной библиотеке управления формами Windows

Сообщение Anonymous »

Я сталкиваюсь с проблемой блокировки со временем выполнения MATLAB в библиотеке управления формами управления форм, зарегистрированной Windows, внутри внешнего приложения. Время выполнения Matlab), бросая TypeInitializationException. < /p>
Исключение: < /p>
System.TypeInitializationException
HResult=0x80131534
Message=The type initializer for 'MathWorks.MATLAB.NET.Arrays.MWNumericArray' threw an exception.
Source=MWArray
StackTrace:
at MathWorks.MATLAB.NET.Arrays.MWNumericArray..ctor(Double scalar)
at TestWindowsFormsControlLibrary.UserControl1..ctor() in ...\SandboxSolution\TestWindowsFormsControlLibrary\UserControl1.cs:line 32

This exception was originally thrown at this call stack:
[External Code]

Inner Exception 1:
TypeInitializationException: The type initializer for 'MathWorks.MATLAB.NET.Arrays.MWArray' threw an exception.

Inner Exception 2:
TypeInitializationException: The type initializer for 'MathWorks.MATLAB.NET.Utility.MWMCR' threw an exception.

Inner Exception 3:
Exception: Trouble initializing libraries required by .NET Assembly.
< /code>
Другими словами: < /strong> < /p>
  • Проблема возникает только тогда, когда библиотека управления -регистрирован и загружен во внешнее приложение (например, Excel).
  • Без регистрации COM тот же управление отлично работает в автономном приложении Windows Forms или WPF. < br/>

код триггера ошибки

Исключение происходит при инициализации Mwarray, как SO:
MWArray test = new MWNumericArray(0);< /code> < /p>

[*] Если я удалю эту строку, приложение Com работает нормально (без взаимодействия с Matlab Runtime). < /li>
< li> Если я запускаю одно и то же управление в стандартном приложении Windows Forms или приложении WPF, он загружает время выполнения Matlab без проблем. < /li>
< /ul>
шаги к Воспроизведение: < /strong> < /p>

Создать библиотеку управления формами Windows. < /li>
Настройка, как описано в документации MATLAB. < /li>
Используйте библиотеку времени выполнения Matlab (например, инициализируйте MWARRAY). < /li>
Создайте и протестируйте его в приложении Windows Forms или WPF -приложении - это работает line. < /li>
Зарегистрируйте элемент управления в качестве компонента COM и используйте его во внешнем приложении (например, Excel). < /li>
TypeInitializationException брошен. /li>
< /ol>
Environment < /strong> < /p>

версия времени выполнения Matlab: 2024b 64 -bit

[*].net Framework: 4.8.1 64-bit
[*] Com Architecture: только 64-битная (AnyCPU удаляется)
< /ul>
ожидаемый результат: < /strong> < /p>
Я ожидаю Приложение Windows Forms.
Дополнительные примечания: [/b] У меня установлено только одно время выполнения Matlab. Я добавил его в путь, и это единственная запись.

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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