Dll文件的创建与测试C#
创建Dll文件
首先使用VS 2019创建Dll项目,创建项目时选择“类库”,如下图

在项目中创建类文件,添加测试代码:
namespace PlantSim_C_Interface_Test
{
public class CommunicateWithPS
{
public string readValue(string index)
{
switch (index)
{
case "a":
return "The return value of a is AAA";
break;
case "b":
return "The return value of a is BBB";
break;
case "c":
return "The return value of a is CCC";
break;
case "d":
return "The return value of a is DDD";
break;
default:
return $"The return Value of {index} is NONE";
break;
} } public string writeValue(float value)
{
return $"Received value is {value} , and write successed.";
}
}
}
然后按Ctrl + F5运行项目,在项目目录中会生成dll文件

测试dll文件
新建控制台应用程序,在项目目录上右键,添加项目引用,选择“浏览”,找到创建的dll文件。

在Program.cs文件中,添加引用代码,并添加调用dll方法的代码,完整代码如下:
using System;
using PlantSim_C_Interface_Test;
using System.Runtime.InteropServices; namespace Test_Dll
{
class Program
{
//[DllImport("PlantSim_C_Interface_Test.dll")]
//public static extern string readValue(string index); //[DllImport("PlantSim_C_Interface_Test.dll")]
//public static extern string writeValue(float a);
static void Main(string[] args)
{
Console.WriteLine("Hello World!"); CommunicateWithPS cps = new CommunicateWithPS(); string rs = cps.readValue("d");
Console.WriteLine(rs); string rw = cps.writeValue(15.0f);
Console.WriteLine(rw); Console.ReadKey(); }
}
}
使用Ctrl + F5 运行项目,可以看到调用后的输出结果。

大功告成!
Dll文件的创建与测试C#的更多相关文章
- C++编写DLL文件
动态链接库DLL文件与EXE文件一样也是可执行文件,但是DLL也被称为库,因为里面封装了各种类.函数之类的东西,就像一个库一样,存着很多东西,主要是用来调用的.调用方式主要分为两种:隐式(通过lib文 ...
- MFC中的DLL、LIb文件的创建、使用
动态链接库Dynamic-Linked Lib 的创建与使用 动态链接库(Dynamic Link Library 或者 Dynamic-link Library,缩写为 DLL),是微软公司在微软 ...
- delphi 创建DLL文件 及其调用和注意事项
首先创建一个DLL文件,项目自带的代码为: library ProjectPnr; { Important note about DLL memory management: ShareMem mus ...
- C# 创建Dll文件供程序调用方法
C# 创建Dll文件供程序调用方法 使用C#创建动态Dll文件方法: 1. 在VS2017环境下,新建-项目-选择类库类型: 2. 新创建一个.cs文件(如test.cs),编写代码如下: usin ...
- C# 创建和引入动态链接库dll文件
一.创建动态链接库dll文件 新建 -> 项目->类库 名称为:dlltest 添加函数:消息框弹出消息 using System.Collections.Generic; using S ...
- 如何创建DLL文件
动态链接库(DLL)是从C语言函数库和Pascal库单元的概念发展而来的.所有的C语言标准库函数都存放在某一函数库中.在链接应用程序的过程中,链接器从库文件中拷贝程序调用的函数代码,并把这些函数代码添 ...
- dll文件32位64位检测工具以及Windows文件夹SysWow64的坑
自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问题.相信有很多人并不是很清楚32位程序与64位程序的区别,以及Program Files (x86),Program Files的区别 ...
- C语言dll文件的说明以及生成、使用方法
最近在搞一些小项目,由于要涉及到跟其它语言进行交互,动态链接库变成了不二的选择.为此也查阅了很多资料,将动态链接库的相关知识在此做一个整理. 一.动态链接库概述 动态链接库(Dynamic Link ...
- delphi 基础之三 编写和调用dll文件
delphi 编写和调用dll文件 Windows 的执行文件可以划分为两种形式程序和动态连接库 (DLLs).一般程序运行是用.EXE文件,但应用程序有时也可以调用存储在DLL的函数. 在如下几 ...
随机推荐
- Quartz:Quartz任务异常处理方式
Quartz提供了二种解决方法 1 立即重新执行任务 2 立即停止所有相关这个任务的触发器 解决的方式是:在你的程序出错时,用Quartz提供的JobExecutionException类相关方法就能 ...
- Quartz和Spring Task定时任务的简单应用和比较
看了两个项目,一个用的是Quartz写的定时器,一个是使用spring的task写的,网上看了2篇文章,写的比较清楚,这里做一下留存 链接一.菠萝大象:http://www.blogjava.net/ ...
- wireshark 调试 https/http2和grpc流量
本文浏览器以 Chrom 为例 平常需要抓包的场景比较少,记录一下防止下次忘记配置 1. 解析 TLS 在本地创建用于保存 ssl logfile 的文件(文件可以存放到任意位置), 并添加到环境变量 ...
- NIO 输入输出
NIO 是java14 API 提供的一种新输入输出流,一套用于标准IO的文件读写,一套用于网络编程. 1. NIO 与IO 的区别 IO流以字节流输入输出,一次以一个字节进行数据操作,效率慢: NI ...
- 传统.NET 4.x应用容器化体验(2)
上一篇我们基于Windwos Server 2019 with Container初步跑了一个ASP.NET WebForm应用程序.本篇我们来自己编译部署一个ASP.NET MVC应用程序到Wind ...
- mysql:insert replace
在使用SQL语句进行数据表插入insert操作时,如果表中定义了主键,插入具有相同主键的记录会报错: Error Code: 1062. Duplicate entry 'XXXXX' for key ...
- 基于FPGA的图像镜像
图像镜像,一种较为常见的图像处理操作,分为水平镜像.垂直镜像.对角镜像.水平镜像即处理后的图像与原图像关于垂直线对称,垂直镜像为处理后的图像与 原图像关于水平线对称,对角镜像则关于对角线对称. 关于低 ...
- cisco 交换机 IOS命令
1 显示交换机的MAC地址表 user mode : show mac-address-table
- SpringCloud学习之【Eureka实现服务注册与发现】
这段时间开始整理之前的SpringCloud实践笔记,这里感谢翟永超大佬的文章SpringCloud从入门到精通的指导. 项目结构 服务注册中心 注意: 1.SpringCloud与SpringBoo ...
- SSM和Maven整合
项目架构如图 applicationContext.xml还有其他文件一起放进resources下 jsp,js,等文件放在webapp下