Проблемы со связью устройств в проекте .NET MAUI: «Внешний компонент вызвал исключение»C#

Место общения программистов C#
Ответить
Anonymous
 Проблемы со связью устройств в проекте .NET MAUI: «Внешний компонент вызвал исключение»

Сообщение Anonymous »

Я столкнулся с проблемой в проекте .NET MAUI, связанной с взаимодействием с устройством. Один и тот же код отлично работает как в консольных, так и в WPF-приложениях, но не работает в проекте .NET MAUI.
Я использую одну и ту же библиотеку связи и зависимости во всех приложениях. В проекте .NET MAUI часть сканирования устройств работает правильно с использованием основной DLL, но происходит сбой при попытке создать экземпляр открытого объекта устройства (CreateAndConnect во фрагменте кода). Я получаю сообщение об ошибке: «Внешний компонент вызвал исключение».
Это исключение возникает во время вызова метода в той же DLL, которая успешно сканировала устройство.
Вот упрощенная версия кода, которая работает при вызове из консоли и WPF, но не работает при вызове из .NET MAUI:

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

public virtual bool BindDevice(string serialNumber)
{
List
 lDeviceInfos = new List();
lSystem.DetectionTimeout = 200;
lSystem.Find();

uint interfaceCount = lSystem.InterfaceCount;
PvInterface lInterface;

for (uint x = 0; x < interfaceCount; x++)
{
// Get pointer to each of interface.
lInterface = lSystem.GetInterface(x);
// Get the number of GigE Vision devices that were found using GetDeviceCount.
uint lDeviceCount = lInterface.DeviceCount;
for (uint y = 0; y < lDeviceCount; y++)
{
var  lDeviceInfo = lInterface.GetDeviceInfo(y);
if (lDeviceInfo != null)
{
lDeviceInfos.Add(lDeviceInfo);
}
}
}

var lDeviceInfoID = lDeviceInfos.Where(di => di.UniqueID == serialNumber).First();

if (("".Equals(serialNumber) ||lDeviceInfoID.UniqueID.Equals(serialNumber)))
{
try
{
lDevice = PvDevice.CreateAndConnect(lDeviceInfoID);

}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
return false;
}
}
return true;
}

Среда:
.NET MAUI Project
Windows 10
.NET 7.0
Использование 64-битной PvDotNet.dll и связанных зависимостей
p>
Кто-нибудь сталкивался с подобной проблемой в проектах .NET MAUI? Будем очень признательны за любые идеи или решения.
Я исследовал различия в развертывании между .NET MAUI и другими типами проектов и убедился, что все предоставленные библиотеки копируются в рабочую папку .NET. Приложение MAUI.

Подробнее здесь: https://stackoverflow.com/questions/785 ... nent-has-t
Ответить

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

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

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

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

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