2017-03-10 13 views
5

.Net Coreでビジュアルスタジオコードを使用してコンソールアプリケーションを作成し、使用可能なすべてのポートを取得しようとしています。 Visual StudioコードでSystem.IO.Ports.SerialPortclassを使用するには? usingステートメントで宣言しようとしていますが、利用できるのはCompressionMemoryMappedFilesのネームスペースSystem.IOです。.NET Core - ビジュアルスタジオコードでSystem.IO.Ports.SerialPortを使用

私はあなたがそれを作成するとき、それはあなたのプロジェクトに追加されますデフォルトではので

+0

.NETCoreでは通常の問題ですが、まだ完了していません。コードスケルトンは、[月前](https://github.com/dotnet/corefx/tree/master/src/System.IO.Ports/src/System/IO/Ports)で確認されました。 [2.0リリース](https://github.com/dotnet/corefx/pull/15671)。これをUnixに移植しようとする試みはまだありません。 –

+0

ありがとう、私は参照してください。それを使用する公式リリースを待つでしょう。 – janmvtrinidad

答えて

-3

System.IO.PortsはSystem.dllの中で紹介します。ネットコア1.1.1 SDKを使用しています。

、あなたはこれが私たちに利用可能なポートを与えるサンプルです

Using System.IO.Ports Namespace to your class 

を追加する必要があります。

private void getAllAvailablePorts() 
{ 
    // Get a list of serial port names. 
    string[] ports = SerialPort.GetPortNames(); 

    Console.WriteLine("The following serial ports were found:"); 

    // Display each port name to the console. 
    foreach (string port in ports) 
    { 
     Console.WriteLine(port); 
     } 
} 
+0

Visual Studioコード – janmvtrinidad

+0

を使用して.Net CoreのSystem.IO.Portsをインポートできません。このリンクはあなたを助けてくれると思います。http://stackoverflow.com/questions/40689840/rs232-library-for-net -core –

+0

@Hans Passantが上のコメントで言ったように、それは準備ができていないようです。 – janmvtrinidad

2

Linux OSを使用している場合は、SerialPortStreamライブラリを使用できます。それはlibserialバイナリを必要とし、Linux(MacOSやWindows用ではない)用にしかコンパイルできませんでした。

その他の方法では、モノ実装とMono.Posix.NETStandardパッケージを使用しています。この方法はNETStandard 2.0プロジェクトでのみ機能します。

Monoから.NET Standard 2.0プロジェクトにSystem.IO.Portsクラスのソースをコピーし、Mono.Posix.NETStandard、Microsoft.Win32.Registry参照を追加し、<AllowUnsafeBlocks>true</AllowUnsafeBlocks>セクションを.csprojファイルに追加しました。それはMacOsとWindowsで動作します。

0

.NET APIブラウザを使用してください。 .NETのコア1.1のために存在しませ SERIALPORT: https://docs.microsoft.com/en-us/dotnet/api/?term=serialport&view=netcore-1.1 それは、.NETのコア2.0で追加されました: https://docs.microsoft.com/en-us/dotnet/api/?term=serialport&view=netcore-2.0 あなたはいつもSERIALPORTを取得するには、メインフレームワークからSystem.IO.dllへの参照を追加することができますが、その後、あなたはそうではありません.NET Core 1.1準拠(Linux、MacOSなどに移植できません)

関連する問題