質問するログイン新規登録

回答編集履歴

1

補足の追加

2020/07/01 17:36

投稿

bboydaisuke
bboydaisuke

スコア5339

answer CHANGED
@@ -2,4 +2,6 @@
2
2
 
3
3
  これが間違いの始まりです。Unity は .NET Framework 上で動いているわけではないので、.NET Framework のアセンブリ (dll) ファイルを Unity のプロジェクトの中に入れても動きません。Unity Arduino で検索すると出てくるページ([例](http://tips.hecomi.com/entry/2014/07/28/023525))で示しているように、API Compatibility Level を Subset ではなく 2.0 とか 4.0 に設定しておけば、System.IO.Ports は多分使えるようになります(確認はしていません)。
4
4
 
5
+ つまり Assets にコピーした dll ファイルを削除して API Compatibility Level を適切に設定すればそのコードは動くようになるでしょう。
6
+
5
7
  「多分」と言ったのは、Unity は mono という .NET 互換のランタイム上で動いていて、その互換性は完全ではないからです。つまり .NET Framework 上にある名前空間やクラスでも Unity (mono) から使えないものもたまにあります。なのでその辺は試してください。