Невозможно использовать System.IO.Ports в консольном приложении C# dotnetC#

Место общения программистов C#
Ответить
Anonymous
 Невозможно использовать System.IO.Ports в консольном приложении C# dotnet

Сообщение Anonymous »

У меня есть некоторый опыт создания приложения C# с использованием платформ dotnet. Однако я не знаю, как решить эту проблему.
Хорошо, последний час я потратил, пытаясь получить простейшее из приложений, работающих с использованием C# и консольного приложения dotnet 8. Моя цель:
прочитать текст из последовательного USB-соединения с последовательного монитора ESP8266.
Я видел множество примеров этого:

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

using System.IO.Ports;
using System.IO;

SerialPort port = new SerialPort();
Это совершенно не работает в моей системе. Кажется, чего-то не хватает: System.IO.Ports.

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

  Determining projects to restore...
All projects are up-to-date for restore.
C:\sources\esp8266\USBComPortReader6b\USBComPortReader6b\Program.cs(7,1): error CS1069: The type name 'SerialPort' could not be found in the namespace 'System.IO.Ports'. This type has been forwarded to assembly 'Syst
em.IO.Ports, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' Consider adding a reference to that assembly. [C:\sources\esp8266\USBComPortReader6b\USBComPortReader6b\USBComPortReader6b.csproj]
C:\sources\esp8266\USBComPortReader6b\USBComPortReader6b\Program.cs(7,29): error CS1069: The type name 'SerialPort' could not be found in the namespace 'System.IO.Ports'. This type has been forwarded to assembly 'Sys
tem.IO.Ports, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' Consider adding a reference to that assembly. [C:\sources\esp8266\USBComPortReader6b\USBComPortReader6b\USBComPortReader6b.csproj]

Build FAILED.

C:\sources\esp8266\USBComPortReader6b\USBComPortReader6b\Program.cs(7,1): error CS1069: The type name 'SerialPort' could not be found in the namespace 'System.IO.Ports'. This type has been forwarded to assembly 'Syst
em.IO.Ports, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' Consider adding a reference to that assembly. [C:\sources\esp8266\USBComPortReader6b\USBComPortReader6b\USBComPortReader6b.csproj]
C:\sources\esp8266\USBComPortReader6b\USBComPortReader6b\Program.cs(7,29): error CS1069: The type name 'SerialPort' could not be found in the namespace 'System.IO.Ports'. This type has been forwarded to assembly 'Sys
tem.IO.Ports, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' Consider adding a reference to that assembly. [C:\sources\esp8266\USBComPortReader6b\USBComPortReader6b\USBComPortReader6b.csproj]
0 Warning(s)
2 Error(s)

Time Elapsed 00:00:01.50

Глядя в проводник проекта, я вижу следующее:
[img]https://i. sstatic.net/nSXlUlkP.png[/img]

Я искал везде, и мне предлагалось установить для этого пакет NuGet:
Изображение

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

Results in:

C:\sources\esp8266\USBComPortReader6b\USBComPortReader6b>dotnet add package System.IO.Ports --version 8.0.0
Determining projects to restore...
Writing C:\Users\e2692\AppData\Local\Temp\tmpb01oaz.tmp
info : X.509 certificate chain validation will use the default trust store selected by .NET for code signing.
info : X.509 certificate chain validation will use the default trust store selected by .NET for timestamping.
info : Adding PackageReference for package 'System.IO.Ports' into project 'C:\sources\esp8266\USBComPortReader6b\USBComPortReader6b\USBComPortReader6b.csproj'.
info : Restoring packages for C:\sources\esp8266\USBComPortReader6b\USBComPortReader6b\USBComPortReader6b.csproj...
error: NU1101: Unable to find package System.IO.Ports. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages
error: Package 'System.IO.Ports' is incompatible with 'all' frameworks in project 'C:\sources\esp8266\USBComPortReader6b\USBComPortReader6b\USBComPortReader6b.csproj'.

Некоторые люди предполагают, что System.IO.Ports не поддерживается dotnet 8 (или какой-либо другой версией вообще). Однако у Microsoft есть страница руководства
Изображение

Работает в Windows 11. Пробовал Jetbrains Rider и Visual Studio Community Edition 2022.
Выполнение dotnet --version в папке проекта:< /p>

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

C:\sources\esp8266\USBComPortReader6b\USBComPortReader6b>dotnet --version
8.0.402

Снаружи:

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

C:\>dotnet --version
8.0.402

C:\>dotnet --list-sdks
6.0.425 [C:\Program Files\dotnet\sdk]
8.0.400 [C:\Program Files\dotnet\sdk]
8.0.402 [C:\Program Files\dotnet\sdk]

Дополнительная информация о моем проекте:
[img]https://i.sstatic.net /rgy4GlkZ.png[/img]

Свойства решения:

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

# Visual Studio Version 17
VisualStudioVersion = 17.11.35312.102
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "USBComPortReader6b", "USBComPortReader6b\USBComPortReader6b.csproj", "{92218195-33A1-48E3-B5DB-19B44769E322}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{92218195-33A1-48E3-B5DB-19B44769E322}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{92218195-33A1-48E3-B5DB-19B44769E322}.Debug|Any CPU.Build.0 = Debug|Any CPU
{92218195-33A1-48E3-B5DB-19B44769E322}.Release|Any CPU.ActiveCfg = Release|Any CPU
{92218195-33A1-48E3-B5DB-19B44769E322}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {0298EA09-525B-42F7-954D-EC886703AEAC}
EndGlobalSection
EndGlobal
Файл csproj:

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



Exe
net8.0
enable
enable




Сказать, что я расстроен, — ничего не сказать. Я справился со своей частью этих проблем, связанных с платформой, но совершенно не знаю, как решить эту проблему.
ЛЮБАЯ помощь будет принята с благодарностью!

Подробнее здесь: https://stackoverflow.com/questions/790 ... pplication
Ответить

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

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

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

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

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