C# DLL(程序集)的生成和调用
日期:2018年11月24日
环境:Window 10,VS2015
一、利用VS2015自带的工具生成DLL
步骤:
1.利用C#准备一个.cs文件;
using System; public class MyMath
{
public MyMath()
{
Console.WriteLine("This is DLL!!!");
}
public long Add(long a,long b)
{
return (a + b);
}
}
2.开始菜单->Visual Studio 2015->VS2015 开发人员命令提示;

3.输入csc /t:library /out:C:\Users\xxxxx\Desktop\study\AcmeCollections\AcmeCollections\MyMath.dll C:\Users\xxxxx\Desktop\study\AcmeCollections\AcmeCollections\MyMath.cs;
注解:
1)library:意思是编译成类库,否则必须有Main();
2)/out:C:\Users\xxxxx\Desktop\study\AcmeCollections\AcmeCollections\MyMath.dll:输出文件的位置和名称;
3)C:\Users\xxxxx\Desktop\study\AcmeCollections\AcmeCollections\MyMath.cs:源文件的位置和名称;

上图没有出现报错,即操作成功;
二、给你的项目添加引用此DLL,并运行;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices; namespace AcmeCollections
{
class Program
{
static void Main(string[] args)
{
long ans;
string str;
MyMath myMath = new MyMath();
ans = myMath.Add(, );
str = Convert.ToString(ans);
Console.WriteLine(str);
Console.ReadLine();
}
}
}
Main Code
运行结果:

三、参考链接
1.https://www.cnblogs.com/zuoguanglin/archive/2012/02/23/2364613.html
2.https://docs.microsoft.com/zh-cn/dotnet/csharp/tour-of-csharp/program-structure
C# DLL(程序集)的生成和调用的更多相关文章
- 动态链接库DLL的创建生成及调用
一.背景 最近在做CANTOUSB底层驱动的调用,是调用别人已经封装好的库,看不到别人写的源程序.程序中调用的是隐式调用即 x.h+x.lib+x.dll,其中DLL即是动态链接库(Dynamic L ...
- VS2012,VS2010无法生成dll程序集的解决办法
在我们做项目的时候总会遇到dll程序集无法生成导致各种问题. 通常我们的做法就是清理项目,然后重新生成,或者直接到bin目录下删除所有dll,然后重新生成. 有时候某几个dll就是不生成. 这时候就需 ...
- C++(VS2012)DLL动态库的生成和调用
DLL动态链接库的生成: 首先打开VS2012,新建——项目——Win32控制台应用程序(项目名称:ConsoleApplication1)——空项目 新建一个源文件source.cpp 先用控制台e ...
- VS2015环境下生成和调用DLL动态链接库
一.生成动态链接库: 1.打开VS2015->文件->新建->项目->Visual C++->Win32->Win32控制台应用程序->将名称改为dll_ge ...
- C# 版dll 程序集合并工具
C# 版dll 程序集合并工具 最近要开发一个控件给同事用,开发中会引用一些第三方DLL,这样交给用户很不方便,希望的效果是直接交付一个DLL文件.网上找了一些资料. 1. 使用 Cost ...
- 【C#】动态加载dll程序集
原文:http://www.cnblogs.com/bomo/archive/2013/03/01/2938165.html 很多时候我们需要用到引用其他程序集,有些程序集是.Net生成的,可以支持反 ...
- vc6静态库的生成和调用
转自vc6静态库的生成和调用 1.静态库的生成: 在vc6.0++中Ctrl+N选择Projects下的Win32 Static Library,Project name:SumLib,点击OK,下一 ...
- C#dll版本号默认生成规则
原文:C#dll版本号默认生成规则 1.版本号自动生成方法 只需把 AssemblyInfo.cs文件中的[assembly: AssemblyVersion("1.0.0.0") ...
- 《RDLC部署》RDLC部署到IIS缺少DLL程序集
1.错误:从vs生成网站部署到服务器后打开RDLC报表却提示缺少DLL程序集. 一般是缺少如下文件 1. Microsoft.ReportViewer.Common.dll 2. Microsof ...
- VS2017中 C# dll引用(C生成dll,C++生成dll)小结 - 简书
原文:VS2017中 C# dll引用(C生成dll,C++生成dll)小结 - 简书 dll引用小结 一.dll与应用程序 动态链接库(也称为DLL,即为“Dynamic Link Library” ...
随机推荐
- Java 时间工具类
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 1.Calendar 转化 String ...
- bzoj 3907 网格 bzoj2822 [AHOI2012]树屋阶梯——卡特兰数(阶乘高精度模板)
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3907 https://www.lydsy.com/JudgeOnline/problem.p ...
- Python collections系列之单向队列
单向队列(deque) 单项队列(先进先出 FIFO ) 1.创建单向队列 import queue q = queue.Queue() q.put(') q.put('evescn') 2.查看单向 ...
- 使用jQuery+css实现选项卡切换功能
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...
- Java-API:javax.servlet.http.HttpServletRequest
ylbtech-Java-API:javax.servlet.http.HttpServletRequest 1.返回顶部 1. javax.servlet.http Interface HttpSe ...
- linux 学习2 常用命令
1.显示日期的指令: date 2. [Tab]按键---具有『命令补全』不『档案补齐』的功能 3: su和 sudo su用于用户之间的切换. su在不加任何参数,默认为切换到root用户 ...
- 原生的ado.net(访问sql server数据库)
本文介绍原生的ado.net(访问sql server数据库) 写在前面 数据库连接字符串 过时的写法 string str = "server=localhost;database=my_ ...
- 获取Linux权限后安装rootkit
1.首先获得远程服务器的root权限,当然这是基本的也是最难的. 2.然后下载rootkit程序,本文用到的是mafix. 3.开始安装 wget http://godpock.googlecode. ...
- asp.net mysql 链接类
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Text;u ...
- latex bib format
LaTeX 的对参考文献的处理实在是非常的方便,我用过几次,有些体会,写出来供大家参考.当然,自己的功力还不够深,有些地方问题一解决就罢手了,没有细究. LaTeX 对参考文献的处理有这么一些优点: ...