如何配置Visual Studio 2017中Linux兼容的.NET Core项目以使用System.IO.Ports?
解决.NET Core 2.1项目无法使用System.IO.Ports的问题
嘿,我之前也碰到过一模一样的问题!Unity里能用是因为它基于的Mono环境默认就包含了System.IO.Ports,但.NET Core 2.1不一样——这个命名空间属于可选组件,得手动引入才行。下面是一步步的配置方法:
1. 通过Visual Studio 2017安装对应的NuGet包
这是最直观的方式:
- 右键你的.NET Core项目,选择「管理NuGet程序包」
- 切换到「浏览」标签页,在搜索框里输入
System.IO.Ports - 挑一个支持.NET Core 2.1的版本(比如
4.5.0就很合适,亲测兼容),点击「安装」就行
2. 手动编辑.csproj文件(如果NuGet管理器不好用的话)
要是你习惯直接改配置文件,可以打开项目的.csproj,添加这段包引用:
<ItemGroup> <PackageReference Include="System.IO.Ports" Version="4.5.0" /> </ItemGroup>
同时确认你的项目目标框架确实是.NET Core 2.1,文件里得有这行:
<TargetFramework>netcoreapp2.1</TargetFramework>
3. Linux运行环境的小细节
因为你要在Linux上跑,还有两个小地方要注意:
- 确保系统装了串口依赖库:比如Ubuntu上可以用
sudo apt-get install libserialport0安装,大部分发行版其实默认就有,但保险起见检查下 - 给运行程序的用户加串口访问权限:执行
sudo usermod -aG dialout $USER,然后重新登录,不然可能会碰到权限不足的问题
做完这些,你就能正常写using System.IO.Ports;,调用串口相关的API啦!
内容的提问来源于stack exchange,提问作者Pierre Baret
相关产品推荐
相关产品推荐

