C#EXE 文件中 嵌入dll文件
这里写自定义目录标题
- 欢迎使用Markdown编辑器
- 新的改变
- 功能快捷键
- 合理的创建标题,有助于目录的生成
- 如何改变文本的样式
- 插入链接与图片
- 如何插入一段漂亮的代码片
- 生成一个适合你的列表
- 创建一个表格
- 设定内容居中、居左、居右
- SmartyPants
- 创建一个自定义列表
- 如何创建一个注脚
- 注释也是必不可少的
- KaTeX数学公式
- 新的甘特图功能,丰富你的文章
- UML 图表
- FLowchart流程图
- 导出与导入
- 导出
- 导入
当发布的程序有引用其它dll, 又只想发布一个exe时就需要把dll打包到exe
当然有多种方法可以打包, 比如微软的ILMerge,混淆器附带的打包…
用代码打包的实现方式也有很好,本文只是其中一种实现方式,不需要释放文件!
方法如下:
1.项目下新建文件夹dll
2.把要打包的dll文件放在dll文件夹下,并包括在项目中
3.右键文件属性, 生成操作选择嵌入的资源
4.实现如下代码, 在窗口构造中实现也可以(在窗体事件中无效,如winform_load)
这里需要注意,“引用”下的dll,需要设置“复制本地”为False,这样在bin目录下生成exe的时候就不会顺便复制dll了(这步可要可不要)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Reflection;
namespace WindowsFormsApplication13
{
static class Program
{
///
/// 应用程序的主入口点。
///
[STAThread]
static void Main()
{
AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;
//Application.EnableVisualStyles();
// Application.SetCompatibleTextRenderingDefault(false);
Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new Form1());}private static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args){string resourceName = "WindowsFormsApplication13.dll." + new AssemblyName(args.Name).Name + ".dll";using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName)){byte[] assemblyData = new byte[stream.Length];stream.Read(assemblyData, 0, assemblyData.Length);return Assembly.Load(assemblyData);}}
}
}
实现原理:
把dll嵌入到exe程序的资源中,
并实现程序集加载失败事件(当在程序目录和系统目录下找不到程序集触发),
当找不到程序集时就从资源文件加载, 先转换为字节数组再转换到程序集返回给程序,
这样dll就被加载到程序中了.
如果exe所在文件夹下有相应dll, 事件并不会被触发!
————————————————
版权声明:本文为CSDN博主「zls365365」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zls365365/article/details/122207009
欢迎使用Markdown编辑器
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
新的改变
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
- 全新的界面设计 ,将会带来全新的写作体验;
- 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
- 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
- 全新的 KaTeX数学公式 语法;
- 增加了支持甘特图的mermaid语法1 功能;
- 增加了 多屏幕编辑 Markdown文章功能;
- 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
- 增加了 检查列表 功能。
功能快捷键
撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G
合理的创建标题,有助于目录的生成
直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC
语法后生成一个完美的目录。
如何改变文本的样式
强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
H2O is是液体。
210 运算结果是 1024.
插入链接与图片
链接: link.
图片:
带尺寸的图片:
居中的图片:
居中并且带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
如何插入一段漂亮的代码片
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block
var foo = 'bar';
生成一个适合你的列表
- 项目
- 项目
- 项目
- 项目
- 项目1
- 项目2
- 项目3
- 计划任务
- 完成任务
创建一个表格
一个简单的表格是这么创建的:
项目 | Value |
---|---|
电脑 | $1600 |
手机 | $12 |
导管 | $1 |
设定内容居中、居左、居右
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第一列 | 第二列 | 第三列 |
---|---|---|
第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
SmartyPants
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
TYPE | ASCII | HTML |
---|---|---|
Single backticks |
'Isn't this fun?'
|
‘Isn’t this fun?’ |
Quotes |
"Isn't this fun?"
|
“Isn’t this fun?” |
Dashes |
-- is en-dash, --- is em-dash
|
– is en-dash, — is em-dash |
创建一个自定义列表
- Markdown
- Text-to-HTML conversion tool
- Authors
- John
- Luke
如何创建一个注脚
一个具有注脚的文本。2
注释也是必不可少的
Markdown将文本转换为 HTML。
KaTeX数学公式
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ(n)=(n−1)!∀n∈N\Gamma(n) = (n-1)!\quad\forall n\in\mathbb NΓ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ(z)=∫0∞tz−1e−tdt.\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
你可以找到更多关于的信息 LaTeX 数学表达式here.
新的甘特图功能,丰富你的文章
- 关于 甘特图 语法,参考 这儿,
UML 图表
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:
这将产生一个流程图。:
- 关于 Mermaid 语法,参考 这儿,
FLowchart流程图
我们依旧会支持flowchart的流程图:
- 关于 Flowchart流程图 语法,参考 这儿.
导出与导入
导出
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。
导入
如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。
mermaid语法说明 ↩︎
注脚的解释 ↩︎
C#EXE 文件中 嵌入dll文件相关推荐
- html中wmv播放怎么不让他自动播放,如何在我的html文件中嵌入WMV文件
我的例子有效. classid='CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95' codebase='http://activex.microsoft.com/ ...
- VB直接播放EXE文件中的声音文件
使用资源文件,可以直接在在EXE文件中播放声音文件(WAV文件),使程序显得更加专业. ⑴启动 VB6.0,在"外接程序→外接程序管理器"中加载"Visual Basic ...
- C#.NET如何将cs文件编译成dll文件 exe文件 如何调用dll文件
比如我要把TestDLL.cs文件编译成dll文件,则在命令提示符下,输入下面的命令,生成的文件为TestDLL.dll csc /target:library TestDLL.cs 注意前提是你安装 ...
- C#中使用DLL文件
首先,我们需要在C++程序中导出DLL文件.我使用的是Visual Studio开发,把项目"属性"中的"配置类型"改为"动态库dll",然 ...
- 多种方法解决计算机程序中出现.DLL文件丢失的问题
title: DLL-lose date: 2019-11-21 15:55:47 description: 解决计算机程序中出现.DLL文件丢失的问题 在安装某些软件,我们正准备开开心心地打开, ...
- C#中使用OpenGL:(三)将.lib文件编译为.dll文件
C#不能调用C/C++lib文件的函数,但能调用dll文件的函数.可是现在的情况是,我只有一个lib文件,函数的实现都在里边了.能不能把lib变为dll呢?答案是肯定的. C# OpenGL接口源码. ...
- 如何在全局程序集缓存 (GAC) 中安装 DLL 文件
要使用 Visual Studio .NET 创建小型类库项目.生成强名称,以及在 GAC 中安装项目的 .dll 文件,请执行下列步骤: 在 Visual Studio .NET 中,创建一个新 V ...
- 在VC++中创建DLL文件并加载
一.Win32动态链接库 1.制作的步骤: (1)新建WIN32 Dynamic-link Library工程,工程名为MyDll,选择A DLL that export some symbol (s ...
- dll放在unity哪个文件夹下_unity中调用dll文件总结
unity中调用dll文件总结 根据收集的资料,对unity中调用dll文件进行总结,目前常用的两种,在给出vs中封装dll文件的步骤. 一.调用c#中的dll文件 1.1封装dll文件 首先新建一个 ...
- 没有MsVCp140如何安装MysQl,win10中msvcp140.dll文件如何安装_win10电脑缺少msvcp140.dll文件的安装教程...
有不少win10系统用户在电脑中运行软件或者程序的时候,反映说会遇到msvcp140.dll文件缺少或丢失的情况,解决方法很简单,只需要安装msvcp140.dll文件即可,那么win10中msvcp ...
最新文章
- ATS中开启Refer防盗链功能
- AcWing 397. 逃不掉的路(边双连通分量缩点成树 + 树链剖分乱搞)
- 织梦dedecms dede plus文件作用介绍及安全设置
- 目标函数、损失函数、代价函数
- 思而后言:用点赞数据来帮助对话生成模型
- 3种Python数据结构,13种创建方法,这个总结,超赞!
- python antlr4需要的python 版本_python多版本管理器pyenv
- Sharepoint学习笔记---SPList--创建一个带有Lookup字段的List
- 久等了!支付宝集五福活动官宣: 今年又有新玩法
- java基础面试题之:super与this的区别
- Linux中断子系统
- 【有内鬼,终止交易】风靡朋友圈的壁纸,实现代码竟如此简单 | 原力计划
- jq跨域代理_JQuery前端跨域问题的七种解决方案
- 51.N皇后 (力扣leetcode) 博主可答疑该问题
- java出租车计费系统_基于JavaEE的出租车计费系统的设计实验报告
- 2.7 矩阵分块及矩阵乘法的四种方式
- 计算圆柱的侧面积及体积
- Android studio 突然连接不上夜神模拟器
- Python 转义字符(含用法)
- [翻译]CryEngine3中ClothShader详解