C# Dll动态链接库
- 新建一个类库。
- 2
- 编写一个简单的类库实例,例如:DllTest
在默认名为:calss1.cs里编写代码
一下是一个简单的:在控制台显示 “你以成功调用了动态连接!”
sing System;
using System.Collections.Generic;
using System.Text;
namespace DllTest
{
public class Class1
{
public void ShowMessage()
{
Console.WriteLine("你以成功调用了动态连接!");
Console.ReadLine();
}
}
} - 配置输出,在解决方案上右击——属性,在应用程序选卡中需要注意一下三个内容。
1.程序集名称2.默认命名空间3.输出类型
1.DllTest 2.DllTest 3.类库
这些对我调用来说很有用! - 生成dll,在菜单栏在生成里点击“生成dlltest”,或者按shfit+F6
生成成功,在目录下能看到生成的Dll: - 调用该dll,新建一个控制台应用程序,来实现该dll的调用。
新建一个DLLExample。 - 在新建的项目内添加引用,引用该dll。
- 在“查找范围里找到,我们生成的dll,点击确定。在解决方案中显示如下内容,说明你添加成功!
- 这时我就可以在程序中调用了。
在program.cs中添加
如下代码:
using System;
using System.Collections.Generic;
using System.Text;
//必须添加
using System.Runtime.InteropServices;
using DllTest;
namespace DllExample
{
class Program
{
//DllTest,我们的动态链接库
[DllImport("DllTest.dll")]
//public static extern void ShowMessage();
static void Main(string[] args)
{
//实例化
DllTest.Class1 i = new Class1();
//调用动态链接库的方法
i.ShowMessage();
}
}
} - 运行结果:
C# Dll动态链接库的更多相关文章
- lib静态链接库,dll动态链接库,h文件
最近在弄摄像头,发现我在调用摄像头自带的函数的时候,库没连接上,于是经过高人指点,学习了一下lib静态链接库,dll动态链接库来补充一下自己的基础知识. 一.首先我们来介绍一下lib静态链接库. li ...
- 无法加载 DLL“rasapi32.dll”: 动态链接库(DLL)初始化例程失败。
无法加载 DLL“rasapi32.dll”: 动态链接库(DLL)初始化例程失败. 在Asp.Net项目中使用WebClient或HttpWebRequest时出现以上错误 解决方案:把以下代码放在 ...
- .h头文件、 .lib库文件、 .dll动态链接库文件之间的关系
转自.h头文件. .lib库文件. .dll动态链接库文件之间的关系 h头文件作用:声明函数接口 dll动态链接库作用:含有函数的可执行代码 lib库有两种: (1)静态链接库(Static Liba ...
- 在DLL动态链接库中封装VCL的MDI子窗体
在DLL动态链接库中封装VCL的MDI子窗体不多说了,看代码就应该明白了,曾经我遇到的问题,现在放出来大家共享! 这里是工程文件的部分: 在DLL中封装MDI子窗体需要重写DLL入口函数,具体代码如下 ...
- Qt Creator编译运行成功,但是显示系统找不到指定的文件(比如urlmon.dll动态链接库)
问题: 以前自己写的一个QT界面程序,在win 7 的32位系统上运行没有出现任何问题,但是重装系统之后,同样的程序放到win10 的64位系统下运行会出现警告:onecoreuap\inetcore ...
- DLL动态链接库导出函数方法 -- 动态导出(.def文件导出)
简介 动态链接库最大的优势在于可以提供给其他应用程序共享的资源,最小化应用程序代码的复杂度,其中一个十分重要的功能就是dll可以导出封装函数的功能.导出函数有两种主要方式,分别是静态导入和动态导入,本 ...
- vs 连接过程报错 dll 分析 ------- DLL动态链接库
1:编译成功,说明代码没有问题了2:连接报错,说明 exe 在查找dll 的入口地址过程,找不到合适的信息,这些信息保存在 dll 对应的 *.lib 文件里面 说明:exe如果生成成功了lib 这 ...
- C++编写DLL动态链接库的步骤与实现方法
原文:http://www.jb51.net/article/90111.htm 本文实例讲述了C++编写DLL动态链接库的步骤与实现方法.分享给大家供大家参考,具体如下: 在写C++程序时,时常需要 ...
- Windows下C语言调用dll动态链接库
dll是windows下的动态链接库文件,下面记录一下在windows下如何调用C语言开发的dll动态链接库. 1.dll动态链接库的源代码 hello_dll.c #include "st ...
- C#中调用Dll动态链接库
C#中调用Dll动态链接库 起始 受限于语言的不同,我们有的时候可能会用别人提供的函数及方法 或者其他的什么原因.反正就是要调!!! 恰巧别人所使用的的语言跟自己又不是一样的 这个时候想要调用别人的函 ...
随机推荐
- 14.6.3.2 Configuring Multiple Buffer Pool Instances 配置多个Buffer Poll 实例:
14.6.3.2 Configuring Multiple Buffer Pool Instances 配置多个Buffer Poll 实例: 对于系统有多个buffer pools 在多个字节范围, ...
- 【转】蓝牙物理链路类型:SCO和ACL链路
原文网址:http://blog.chinaunix.net/uid-23193900-id-3272233.html 蓝牙物理链路ACL(Asynchronous Connectionless), ...
- (转载)shell变量基础—shell自定义变量
(转载)http://see.xidian.edu.cn/cpp/html/1494.html 一.Shell定义变量需要遵循的规则 Shell编程中,使用变量无需事先声明,同时变量名的命名须遵循如下 ...
- 从 3 个 IT 公司里学到的 57 条经验
自1999年起我就开始发掘一些科技公司,并帮助它们运营.下面是从干这行中得到的57条经验.我可以列出更多,但恐怕会令你厌烦. 1.做你个人有热情的事情.你是你自己最好的民意代表. 2.用户体验很重要. ...
- unity3d 随机生成地形之随机山脉
利用Fractal Noise生成地形,再加上山体shader,外加雪shader Noise生成结果 noise 生成主要参考这篇文章,就不再赘述 Value3D: Perlin2D: Fracta ...
- HDOJ/HDU 2551 竹青遍野(打表~)
Problem Description "临流揽镜曳双魂 落红逐青裙 依稀往梦幻如真 泪湿千里云" 在MCA山上,除了住着众多武林豪侠之外,还生活着一个低调的世外高人,他本名逐青裙 ...
- centos6.5建立cloudera-cdh4.6本地源
1.准备: centos6.5系统,root用户 2.安装所需包: sudo yum install yum-utils createrepo 3.下载cdh4.6的repo: ...
- iptables vpn
- oracle sysdba用户远程登录
sysdba远程登录需要两个条件: 1.remote_login_passwordfile =exclusive时,启用口令文件,允许远程登录: 查看remote_login_passwordfile ...
- UVALive3713-Astronauts(2-SAT)
题目链接 题意:有A.B.C3个任务分配给n个宇航员,当中每一个宇航员恰好分配一个任务.如果n个宇航员的平均年龄为x,仅仅有年龄大于x的才干领取A任务:仅仅有年龄严格小于x的才干领取B任务,而任务C没 ...