C#生成带注释的dll并引用实现
作者:博弈星宇 发布时间:2023-08-31 16:01:09
标签:C#,dll,引用
一. 编写.cs文件
注:要想编译dll中注释可用,则代码中的注释要用“ /// ” 来进行注释,否则编译后注释不起作用。
注释是生成在XML文件中的。
ComputeDemo.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MetaDataTest1
{
/// <summary>
/// 类名:ComputeDemo
/// </summary>
public class ComputeDemo
{
/// <summary>
/// 加法
/// </summary>
/// <param name="a"></param>
/// <param name="b"></param>
/// <returns></returns>
public int Add(int a, int b)
{
return a + b;
}
/// 减法
public int Sub(int a, int b)
{
return a - b;
}
/// 乘法
public int Multi(int a, int b)
{
return a * b;
}
///除法
public double Div(int a, int b)
{
return a / b;
}
}
}
Program.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MetaDataTest1
{
class Program
{
static void Main(string[] args)
{
var obj = new ComputeDemo();
int addResult = obj.Add(1, 2);
Console.WriteLine(addResult);
Console.ReadKey();
}
}
}
二. 生成XML文件注释
在类库项目上,右键属性-生成-输出,勾选XML文档文件,选择文档名以及DLL文件输出的路径。如下图:
三. 打开MSBuild Command Prompt for VS2015生成dll文件
输入命令如下:
csc /t:library /out:D:\DllPath\MetaDataTest1.dll D:\ComputeDemo.cs
其中:/out:D:\DllPath\MetaDataTest1.dll 为生成输出的DLL路径和DLL文件
D:\ComputeDemo.cs 为.cs文件路径位置
则成功生成MetaDataTest1.dll文件(.dll文件命名要和.xml文件一致)
四. 使用另一个项目引用.dll文件
右击References- Add References – Browers 进行添加引用。查看注释是否存在,如下图所示:
查看DLL相关信息,如下图片所示:
五. 运行成功:
来源:https://blog.csdn.net/poyue8754/article/details/123824959


猜你喜欢
- 首先当我们将Dwr3配置好以后,我们可以在浏览器中测试一下,查看一下我们配置的Dwr有没有生效,方法是http://localhost:[你
- (注意:本文基于JDK1.8)前言元素在存储到内存中,当我们需要使用在内存中存储的元素,这就涉及到在内存中查找元素,今天一起学习Vector
- 这里记录Java中从控制台读入信息的几种方式,已备后查!(1)JDK 1.4(JDK 1.5和JDK 1.6也都兼容这种方法)public
- 原理:创建一个新的Bitmap,然后再根据它来创建一个Canvas,最后调用View的draw方法将View画到Canvas上,这样得到的B
- 需要添加引用,System.Configuration;写系统配置文件: Configuration cfa =
- 最近在用SpringMvc做Http接口时,对方在调用我接口时发现Date格式的默认转化为long,因此在前端页面看到的是一串数字。我们可以
- #include <stdio.h>#include <stdlib.h>int main(){ &nbs
- 一、创建线程启动线程—start 方法通过覆写 run 方法创建⼀个线程对象,但线程对象被创建出来并不意味着线程就开始运
- 本文实例为大家分享了Android绝对布局AbsoluteLayout的具体代码,供大家参考,具体内容如下1>AbsoluteLayo
- 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是
- 目录1. SpringCloud特点2. 分布式系统的三个指标CAP3. Eureka4. SpringCloud Demo4.1 regi
- 主要讲解Android Studio中生成aar文件以及本地方式使用aar文件的方法,具体内容详情如下所示:在Android Studio中
- 1.通过无参构造函数创建(默认)2.通过有参构造创建1.constructor 的index赋值<bean id="user
- 背景1> 大家都知道SpringBoot是通过main函数启动的,这里面跟踪代码到处都没有找到while(true),为什么启动后可以
- Activities提供了一种方便管理的创建、保存、回复的对话框机制,例如 onCreateDialog(int), onPrepareDi
- 银行卡大家都使用,在密码输错超过限制次数之后,就容易被锁死,智能到银行柜台才能解锁,那么这一功能如果实现的呢,今天小编通过实例代码给大家详细
- kafka是什么?Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式
- 一、Rxjava使用场景为了模拟实际场景,从wanandroid网站找了二个接口,如下:(对Wanandroid表示感谢!)public i
- C#是一门强类型语言,一般情况下最好避免将一个类型转换成另一个类型,但是有些时候又不得不进行类型转换,那么就出现几种强转方式。1. 括号强转
- springboot启动时自动加载application.properties或者application.yml,如何定义自己的配置让spr