在 .NET 开发中,三种常见的引用其他代码或库方式

使用源码引用(Source Code Reference)

新建一个demo1项目

在这里插入图片描述

复制想要引用的文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

删除之后剩余的内容

在这里插入图片描述

显示所有文件

在这里插入图片描述
在这里插入图片描述

右击NModbus4的文件名—》选择包括在项目中

在这里插入图片描述

要注意一下命名空间,我们自己创建的命名空间是demo1,引用的NModbus是不一样的,使用时需注意。

下面代码可以打开串口,关闭串口。

using System;
using System.Windows.Forms;
using Modbus.IO;
using Modbus.Device;
using System.IO.Ports;

namespace demo1
{
    public partial class Form1 : Form
    {
        private SerialPort sp = null;//创建串口
        private ModbusSerialMaster msm;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //SerialPort sp = new SerialPort("COM3",9600);//可以直接定义并初始化
            sp = new SerialPort("COM3", 9600);
            sp.Open();

            // ModbusSerialMaster msm = ModbusSerialMaster.CreateRtu(sp);//实例化modbus
            msm = ModbusSerialMaster.CreateRtu(sp);//实例化modbus

            ///
            //使用msm去读写modbus设备
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (sp.IsOpen)
            {
                sp.Close();
            }
        }
    }
}

使用项目引用(Project Reference)

新建一个demo2项目

在这里插入图片描述

将要复制的文件,复制到demo2的解析文件下面

在这里插入图片描述
在这里插入图片描述

右击解决方案–》添加现有项目。

在这里插入图片描述

添加.csproj后缀的项目

在这里插入图片描述

在demo2里面引用一下,右击引用–》添加引用

在这里插入图片描述

添加解决方案里的引用

在这里插入图片描述

代码是一样的,如果报错:该框架版本高于当前目标框架。可以升级当前的net版本。

右击demo文件,选择属性。在应用程序里选择目标框架,选个更高级别的net即可正常运行。

在这里插入图片描述
在这里插入图片描述

using System;
using System.Windows.Forms;
using Modbus.IO;
using Modbus.Device;
using System.IO.Ports;

namespace demo1
{
    public partial class Form1 : Form
    {
        private SerialPort sp = null;//创建串口
        private ModbusSerialMaster msm;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //SerialPort sp = new SerialPort("COM3",9600);//可以直接定义并初始化
            sp = new SerialPort("COM3", 9600);
            sp.Open();

            // ModbusSerialMaster msm = ModbusSerialMaster.CreateRtu(sp);//实例化modbus
            msm = ModbusSerialMaster.CreateRtu(sp);//实例化modbus

            ///
            //使用msm去读写modbus设备
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (sp.IsOpen)
            {
                sp.Close();
            }
        }
    }
}

使用 DLL 动态库方式(DLL Reference)

新建demo3项目

在这里插入图片描述

右击demo3,添加一个文件夹命名为Lib

在这里插入图片描述

直接使用demo2运行之后,在bin-》Debug里生成的dll文件,可以直接复制到demo3文件里,也可以直接将dll复制到Lib文件里。

在这里插入图片描述
在这里插入图片描述

点击显示所有文件之后,右击.dll文件–》选择包括在项目中

在这里插入图片描述

右击引用–》添加引用,选择浏览。浏览当前文件下的dll文件。添加进引用。

在这里插入图片描述
在这里插入图片描述

下面代码和之前一致,如果报错,按上述方法解决即可

using System;
using System.Windows.Forms;
using Modbus.IO;
using Modbus.Device;
using System.IO.Ports;

namespace demo1
{
    public partial class Form1 : Form
    {
        private SerialPort sp = null;//创建串口
        private ModbusSerialMaster msm;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //SerialPort sp = new SerialPort("COM3",9600);//可以直接定义并初始化
            sp = new SerialPort("COM3", 9600);
            sp.Open();

            // ModbusSerialMaster msm = ModbusSerialMaster.CreateRtu(sp);//实例化modbus
            msm = ModbusSerialMaster.CreateRtu(sp);//实例化modbus

            ///
            //使用msm去读写modbus设备
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (sp.IsOpen)
            {
                sp.Close();
            }
        }
    }
}

如有错误请指正!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值