«System.IO.Ports в настоящее время поддерживается только в Windows» при динамической загрузке сборки на компьютере с WinC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 «System.IO.Ports в настоящее время поддерживается только в Windows» при динамической загрузке сборки на компьютере с Win

Сообщение Anonymous »

Консольное приложение динамически загружает сборку, содержащую класс, который ссылается на System.IO.Ports.
И приложение, и библиотека классов являются целью net8.0-windows.
Я получаю исключение System.IO.Ports в настоящее время поддерживается только в Windows., хотя команда < em>OperatingSystem.IsWindows() возвращает true.
Если я добавлю ссылку на библиотеку классов из консольного приложения, ошибка исчезнет.
Предполагаю, что при динамической загрузке теряется информация о целевой среде выполнения.
Добавление
win-x64

в проекты не помогает.
Минимальный воспроизводимый пример доступен на GitHub.
Консольное приложение файл проекта:



Exe
net8.0-windows
enable
enable



Файл проекта библиотеки классов:


net8.0-windows
enable
enable
true







Program.cs:
using System.Reflection;

try
{
var serialPortPath = "..\\..\\..\\..\\SerialPort\\bin\\Debug\\net8.0-windows\\SerialPort.dll";
var serialAssembly = Assembly.LoadFrom(serialPortPath);
var serialPort = Activator.CreateInstance(serialAssembly.GetType("SerialPort.SerialPort"));
}
catch
{
// Do nothing
}

SerialPort.cs:
namespace SerialPort
{
public class SerialPort
{
public SerialPort()
{
var serial = new System.IO.Ports.SerialPort();
}
}
}

Исключение генерируется
var serial = new System.IO.Ports.SerialPort();


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

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

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

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

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

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

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