Хорошо, последний час я потратил, пытаясь получить простейшее из приложений, работающих с использованием C# и консольного приложения dotnet 8. Моя цель:
прочитать текст из последовательного USB-соединения с последовательного монитора ESP8266.
Я видел множество примеров этого:
Код: Выделить всё
using System.IO.Ports;
using System.IO;
SerialPort port = new SerialPort();
Код: Выделить всё
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'.

Работает в 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
Код: Выделить всё
Exe
net8.0
enable
enable
ЛЮБАЯ помощь будет принята с благодарностью!
Подробнее здесь: https://stackoverflow.com/questions/790 ... pplication
Мобильная версия