今天继续这个系列博文的编写。接上次的篇幅,这次介绍关于C#的Dll类库的创建的内容。因为是手把手系列,所以对于需要入门的朋友来说还是挺好的,下面开始咯:

  一、新建Dll类库;

  这里直接创建例子的Dll类库项目,至于项目文件目录的存放布局后面的例子中会介绍。

  在解决方案资源管理器上鼠标右键,选择“添加”,“新建项目”;

  

打开的窗口中,选择“C#”,“Windows”,“库”。

选择“类库(.NET Framework)”,点下一步;

  1)项目名称输入该DLL类库的名称,建议前面是公司名,然后才是Dll类库的名称;

  2)位置默认是该解决方案文件sln所在的目录,建议放在这里;

  3)框架,选择最新那个,这里是4.8.1。

  4)底部会显示该类库的创建位置,看下是否正确,否则点中间的位置右侧的省略号进行修改;

  

  点击创建,将创建该DLL类库项目;

  右侧是默认新建的内容;

  

  1) 顶上的Properties是该项目的属性,里面将存放DLL程序集的信息AssemblyInfo.cs,以及其它程序集相关的文件,这里不用去更改它;

  2) 中间为该DLL程序集引用的其它类库的名称,以后需要的相关的程序集都在这里进行添加;

  3) 底下的Class1.cs文件是默认建立的一个C#的代码文件;

  4) 在“引用”节点上鼠标右键,点击“添加引用”,打开引用窗口;

  

  1) 第一项是“程序集”,这里是VS 2022提供的程序集,提供了一些通用的函数;

  

  2) 中间的“项目”,是当前解决方案中的相关的程序集,能够在此进行引用添加其它DLL类库的程序集;这里例子有其它的Dll程序集,不过需要说明的是必须保证程序集的唯一引用性,不能循环引用,即相互引用(VS 2022会提示无法循环引用)。

  

  3) 然后底部的“浏览”,能够引用其它已经编译好的Dll文件程序集;(这里的Dll程序集必须是.net编译的,其它的VC++等Dll文件不能在此进行引用

  

  左边打开的是Class1.cs的文本代码编辑窗口,在这里进行输入编辑代码;

  

C#的基于.net framework的Dll模块编程(二) - 编程手把手系列文章的更多相关文章

  1. CefSharp基于.Net Framework 4.0 框架编译

    CefSharp基于.Net Framework 4.0 框架编译 本次源码使用的是Github上CefSharp官方的79版本源码 准备 IDE Visual Studio 2017 Enterpr ...

  2. step6----->往工程中添加spring boot项目------->修改pom.xml使得我的project是基于spring boot的,而非直接基于spring framework

    文章内容概述: spring项目组其实有多个projects,如spring IO platform用于管理external dependencies的版本,通过定义BOM(bill of mater ...

  3. KTHREAD 线程调度 SDT TEB SEH shellcode中DLL模块机制动态获取 《寒江独钓》内核学习笔记(5)

    目录 . 相关阅读材料 . <加密与解密3> . [经典文章翻译]A_Crash_Course_on_the_Depths_of_Win32_Structured_Exception_Ha ...

  4. KTHREAD 线程调度 SDT TEB SEH shellcode中DLL模块机制动态

    KTHREAD 线程调度 SDT TEB SEH shellcode中DLL模块机制动态获取 <寒江独钓>内核学习笔记(5)   继续我们的线程相关的数据结构的学习.接下来我们学习 KTH ...

  5. Apworks框架实战(六):使用基于Entity Framework的仓储基础结构

    在前面的章节中,我们已经设计了一个简单的领域模型,接下来我们希望能够实现领域模型的持久化及查询.在Apworks中,实现了面向Entity Framework.NHibernate以及MongoDB的 ...

  6. 创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表

    创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表 创建数据模型类(POCO类) 在Models文件夹下添 ...

  7. 如何使用 Docker 部署一个基于 Play Framework 的 Scala Web 应用?

    本文作者 Jacek Laskowski 拥有近20年的应用程序开发经验,现 CodiLime 的软件开发团队 Leader,曾从 IBM 取得多种资格认证.在这篇博文中,Jacek 分享了 Wars ...

  8. openerp模块收藏 基于Lodop的报表打印模块(转载)

    基于Lodop的报表打印模块 原文:http://shine-it.net/index.php/topic,7397.0.html 前段时间写了个小模块,来解决OE中报表打印不方便的问题.借鉴了 @b ...

  9. 利用OllyDebug查看程序调用的dll模块

    最近在做一个Qt项目,在产品发布的时候一直为找不到程序到底缺少了哪些dll组件而困扰.具体问题是,在我的项目中使用到了QMediaPlayer播放一段音频文件,我使用的开发环境的Win7 32位,而在 ...

  10. 加载DLL模块

    关于Windows平台下应用程序加载DLL模块的问题. 本文将讨论以下问题: (1)Windows可执行程序会从哪些目录下加载DLL. (2)如何将可执行使用的DLL放置到统一的目录下,而不是与EXE ...

随机推荐

  1. Windows10 Linux 子系统的骚操作之 Ctrl+Alt+T shell启动终端

    巨硬的 WSL(Windows Subsystem for Linux)是真的好用 但是,由于本人比较喜欢按快捷键.所以一直想着找到Windows上安装的ubuntu.exe文件,搞个快捷方式,然后再 ...

  2. Java/Kotlin Double保留小数点后几位

    下面以保留2位小数,且按照四舍五入规则的例子 方法 1.BigDecimal.setScale() 此方法得到的还是个double数值 double one = 5.864; BigDecimal t ...

  3. pandas:如何保存数据比较好?

    我们在使用pandas处理完数据之后,最终总是要把数据作为一个文件保存下来,那么,保存数据最常用的文件是什么呢?我想大部分人一定会选择csv或者excel. 刚接触数据分析时,我也是这么选择的,不过, ...

  4. 22_播放器之使用SDL显示YUV视频

    简介 使用SDL实现简单的YUV播放器. 这里还需要使用到像素格式和计算图片大小,这两个我们直接使用ffmpeg来实现,因此需要使用ffmpeg的libavutil/avutil.h和libavuti ...

  5. 为什么ASP.NET Core的路由处理器可以使用一个任意类型的Delegate

    毫不夸张地说,路由是ASP.NET Core最为核心的部分.路由的本质就是注册一系列终结点(Endpoint),每个终结点可以视为"路由模式"和"请求处理器"的 ...

  6. fyne - 谁说用Go不能开发应用界面

    fyne项目介绍 fyne 是一个纯 Golang 的跨平台 GUI 库,跨平台库说实话,是有很多选择的,Flutter.Electron.QT等.fyne 绝对不是一个很大众的选择.但是在我,一名后 ...

  7. 基于VS Code的JSDoc的使用指南

    1. 引言 JSDoc是一个用于 JavaScript 的API文档生成器,可以将文档注释直接添加到源代码中,JSDoc 工具将扫描您的源代码并提供一些操作,例如,生成一个 API 文档 JSDoc官 ...

  8. 开发进阶系列:Java并发之从基础到框架

    一  线程基础 1.synchronized取得的锁都是对象锁,哪个线程执行synchronized修饰的方法,哪个线程就获得这个方法所属对象的锁.不同对象不同锁,互不影响. 另一种情况是static ...

  9. Avalonia发布MacOS运行程序

    1 打开xxx.csproj项目文件,添加Dotnet.Bundle包: <PackageReference Include="Dotnet.Bundle" Version= ...

  10. linux scp 学习

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令, scp传输是加密的,可能会稍微影响一下速度.另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就 ...