1.引言 在一个项目开发中一般都是把引用的dll放在根目录下,随着项目的日益增大,根目录下的dll文件就会越来越多,合理规划这些dll的存放地址,可以使整个项目更加的规范与美观.这篇文章就为大家介绍关于C#如何在指定文件夹寻找文件dll的相关内容,文中通过基于RDIFramework框架WinForm版为基础进行介绍,Web的相关dll规划类似,希望对大家具有一定的参考学习价值. 我们框架原执行目录下的dll存放如下,可以看到整个目录下的文件非常多. 下面我们通过最常用的方式对dll文件进行规划…
系列文章 C#开发奇技淫巧一:调试windows系统服务 C#开发奇技淫巧二:根据dll文件加载C++或者Delphi插件 C#开发奇技淫巧三:把dll放在不同的目录让你的程序更整洁 程序目录的整理 想必C#的开发者都遇到过这个问题,引用的dll都放在根目录下,随着项目的日益增大,根目录下充满了各种各样的dll,非常的不美观. 如果能够把dll按照想要的目录来存放,那么系统就美观多了,以下是我常用的程序各文件的分布: [3rdLibs] NLog.dll Newtonsoft.Json.dll…
原文:[重构]C# VS 配置引用程序集的路径(分离exe和dll从指定路径调用) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/CocoWu892/article/details/81380854 本小白,近期碰到一个有关dll无法生成和引用的问题,困扰许久,访遍博客论坛. 今天我们就来聊聊dll,他是类库以类库的形式输出时,在输出路径处产生的文件.当别的类库通过引用需要调用其中的方法的时候,实际上就是读取了被调用类库的dll文件.(dll…
原文:设置程序PrivatePath,配置引用程序集的路径(分离exe和dll) 有时候我们想让程序的exe文件和dll文件分开在不同目录,这时候可以有3种方法 1.在app.config中配置 <runtime>       <gcConcurrent enabled="true" />       <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">       …
按照引用程序集路径的不同,程序集DLL分为两类: 1)全局DLL(在GAC中注册,GAC——全局程序集缓存),有关GAC的详细资料可以参考一下链接: http://dddspace.com/2011/01/gac.html http://baike.baidu.com/view/405773.htm http://www.cnblogs.com/chenlulouis/archive/2010/06/30/1768176.html 2)私有DLL,默认情况下,添加程序集引用的时候,程序集DLL会…
正确答案: B C   你的答案: C (错误) EXE和DLL文件都是PE文件 EXE不能有导出函数,DLL可以有导出函数 EXE有x86和x64之分,则DLL没有 EXE可以单独运行,DLL则不行 PE文件的全称是Portable Executable,意为可移植的可执行的文件,常见的EXE.DLL.OCX.SYS.COM都是PE文件,PE文件是微软Windows操作系统上的程序文件(可能是间接被执行,如DLL) dll是动态链接库,不可直接运行,dll提供库函数给其他程序调用.exe可执行…
1. COFF文件头中偏移0处的Machine指示目标机器类型(IMAGE_FILE_MACHINE_AMD64等),偏移18处的Characteristics位指示文件属性(IMAGE_FILE_32BIT_MACHINE0x0100,IMAGE_FILE_LARGE_ADDRESS_AWARE0x0020). 但我们判断dll或exe支持的目标平台并不使用COFF头,而使用可选文件头(PE32,PE32+即位于此处),因为可选文件头用于为加载器提供信息. 可选文件头分为3个部分:标准域,wi…
Matt Pietrek Download the code for this article: Hood0101.exe (45KB) W ay back in my October 1996 column in MSJ, I addressed a question concerning the size of executable files. Back then, a simple Hello World program compiled to a 32KB executable. Tw…
如果你手里有一个现成的EXE, 以及EXE相关联PDB文件, 还有相关联的CPP文件和H文件. 你如何用VS调试? (当然你可以选择WinDbg.不过这里就讨论VS) 你或许想问我干嘛不从一开始就用VS写代码? 设想, 有一个人喜欢用 NMAKE 和 MAKEFILE 创建工程. 他已经编译链接好了. 得到了 EXE. PDB. 现在他叫你帮他调试一下. 你又喜欢用VS调试, 怎么办? 对. 这就是下面要说的. 首先推荐阅读这个链接作为热身: https://msdn.microsoft.com…
三.代码实现(DELPHI版本),采用第三种方式实现代码插入. 1. 定义两个类,一个用来实现在内存中建立输入表:一个用来实现对PE头的代码插入. DelphiCode: const MAX_SECTION_NUM = 20; const DYN_LOADER_START_MAGIC = $C0DE51A9; const DYN_LOADER_END_MAGIC = $C0DEE2DE; const DYN_LOADER_START_DATA1 = $DA1EDA1E; const IMPORT…
转自:http://www.stardrad.com/blog/qt-5%E7%A8%8B%E5%BA%8F%E5%9C%A8windows%E4%B8%8A%E7%9A%84%E5%8F%91%E5%B8%83/ http://blog.163.com/qimo601@126/blog/static/1582209320132291718389/ 最近做了个qt的程序,但是发布程序比较困难,因为qt5有着比较多的dll,如下两篇详述了qt dll依赖库,以及如何查询自己工程所用的dll及打包发…
程序中加载了一个DLL文件,但生成的EXE在脱离了DLL文件后仍然可以 单独使用,这是动态加载DLL技术.即:调用资源中的DLL. 此技术的好处:EXE可以使用DLL中的函数,但不会额外增加一 个DLL文件,在使用DLL文件的时候不需要先把DLL释放到硬盘. 在动态加载的这个DLL中定义了一个函数MRun,该函数可以动态执行一 个EXE,即:调用资源中的EXE文件或TMemoryStream中被载入的EXE流. 此技术的好处:直接把资源中的EXE加载到内存中执行,使用程序自 身嵌入的EXE文件的…
原文:使用ILmerge合并Exe.Dll文件的帮助类 using System; using System.Collections.Generic; using System.Text; using System.IO; namespace Tools { /// <summary> /// 使用ILmerge合并Exe.Dll文件的帮助类 /// </summary> public class ILmerge { /// <summary> /// 得到合并Exe.…
在网上找过许多文章,都没有成功获取过大图标,只能获取最大32x32.最后自己尝试了相关的windows api,终于找到一个可用的. 主要用到的C++的PrivateExtractIcons函数,具体说明请看:PrivateExtractIcons function 该函数原文有个说明可能需要注意一下:[This function is not intended for general use. It may be altered or unavailable in subsequent ver…
CLR在加载程序集的时候会查看程序集清单,程序集清单包含哪些内容呢?可执行文件和程序集有什么区别/ 程序集清单 □ 查看程序集清单 →清空F盘as文件夹中的所有内容→创建MainClass.cs文件→把MainClass.cs编译成程序集→反编译MyDll.dll,在1.txt文件中呈现 ildasm /out:1.txt MyDll.dll →打开1.txt文件 1.txt // Metadata version: v4.0.30319 .assembly extern mscorlib {…
.net Reactor之exe.dll文件混淆 .net Reactor的主要功能: 1.是对dll文件.exe文件进行反编译混淆 2.对dll进行内部加锁,限制其使用的固定机器.固定时间.部署次数 2.创建证书文件,用证书管理其限制的机器.时间.部署次数 页面: 混淆方法: 1.在files>Main Assembly中选择需要加密的dll文件. 2.在Additional Files中点击Scan可添加在该dll中引用的dll文件.可不选择 3.在Quick Settings中选择混淆方式…
dnSpy对目标程序(EXE或DLL)进行反编译修改并编译运行 本文为原创文章.源代码为原创代码,如转载/复制,请在网页/代码处明显位置标明原文名称.作者及网址,谢谢! 本文使用的工具下载地址为: https://github.com/cnxy/dnSpy/archive/v4.0.0.zip 或 dnSpy官方下载地址: https://github.com/0xd4d/dnSpy/releases/download/v4.0.0/dnSpy.zip 软件界面如下: 该软件分别64位版本及32…
事先准备:只要 Visual Studio 任何版本即可. 点击开始 -> 程序 -> Visual Studio对应的版本,打开Visual Studio Tools -> 选择 命令提示进入命令行窗口,dumpbin /dependnts   “exe或dll的路径”    即可查询该exe的依赖项dll. 出处:https://blog.csdn.net/zyx19950825/article/details/83045436 ===========================…
转载:https://blog.csdn.net/ithzhang/article/details/7995102 在EXE和DLL中,FindResource的区别 以下的代码在EXE中,执行无误.可是在DLL中FindResource返回的值就为0了,我用::GetLastError(),得出的值是1813,也就是取不到资源,这是为什么?   BOOL ExtractFile(char *szZlibFile,DWORD dwRID)   {   HANDLE hFile = NULL ;…
有时候需要仿照另一个程序实现一些对话框,比较笨的办法是打开那个程序,照着样子自己在VC里面画啊画.这样的效率实在有点低. 现在有很多工具可以从exe和dll里面取出图片.图片.字符串.对话框等资源.比如ResEdit,在指定include目录之后,可以直接把dialog资源反编译成MFC可用的格式,比如: // // Dialog resources // LANGUAGE 9, SUBLANG_DEFAULT 1 DIALOG 34, 22, 222, 99 STYLE DS_MODALFRA…
制作DLL时,在cpp种引入了头文件,但头文件里的全局变量在cpp种却不能用 参考大佬博客https://blog.csdn.net/speargod/article/details/88854344  …
假设被调用的DLL存在一个导出函数,原型如下: void printN(int); 三种方式从DLL导入导出函数 生成DLL时使用模块定义 (.def) 文件 在主应用程序的函数定义中使用关键字__declspec(dllimport)或__declspec(dllexport) 利用#pragma comment(linker, "/export:[Exports Name]=[Mangling Name]" def编写规范:参考模块定义 (.Def) 文件 基本规则: LIBRAR…
Windows 可执行文件(.exe)和动态库文件(.dll)图标资源提取工具 GitHub 功能 图标资源预览 图标资源导出(仅支持导出 PNG 格式) 代码 获取图标资源使用了 Win32 API PrivateExtractIconsW PrivateExtractIconsW 对应的 C# 代码 [DllImport("User32.dll")] internal static extern uint PrivateExtractIcons( /* _In_reads_(MAX…
背景 总有一些特殊情况,我们没有源码,但是某个C#程序集dll或者可执行程序exe影响到我们代码的正常运行,我们希望得到源码,能改掉或者修改某些bug,但是苦于没有源码,这个时候可以用dnspy进行源码阅读和篡改重新编译. 示例 为了增加趣味性,我们这里先介绍一下一个女大学生陈依涵,号称软件届的手工耿,据说她老师布置作业需要每天发布一款精心制作的软件,于是从上个月25开始,陈童鞋几乎就没怎么断更. 她的代表作 <身高计算器>就是其中之一,被评价是"市面上最准的计算器".&q…
VS2012载入DLL编译出现试图载入格式不对的程序:以及执行出现Mixed mode assembly is built against version 'v2.0.50727' of theruntime and cannot be loaded in the 4.0 runtime without additionalconfiguration information 转载请注明出处:http://blog.csdn.net/aaa123524457/article/details/478…
exe崩溃用windbgattach后有宝贵现场,可看程序退出线程等,千万不要清屏…
python版本:3.7 平台:windows 10 集成环境:Anaconda3.7 64位 在jupyter notebook中导入sklearn的相关模块提示ImportError: DLL load failed: 找不到指定的程序. from sklearn.model_selection import train_test_split ImportError: DLL load failed:找不到指定的程序 在conda shell命令行中输入: conda list numpy…
问题描述:初次学习scrapy,使用scrapy官方文档创建爬虫项目出错, 出现builtins.ImportError: DLL load failed: 找不到指定的程序, ImportError: DLL load failed: 找不到指定模块. 原因:scrapy模块安装冲突,我的python和Anaconda中同时安装了scrapy模块,所以在执行我的爬虫项目时一直出错. 解决方法:卸载其中一个scrapy模块,在命令框中输入: pip unstall scrapy 然后,输入scr…
  我们用VS编译器运行我们的程序时候,可能会出现关于1>LINK : fatal error LNK1168: 无法打开 ...dll 进行写入或者是1>LINK : fatal error LNK1168: 无法打开 ....exe进行写入,这主要是因为进程已经存在,我们把程序的进程结束即可,我们可以打开""进程管理器",Ctrl+Alt+delete组合键,然后找到相应的进程右键结束即可.…
本文为原创文章.源代码为原创代码,如转载/复制,请在网页/代码处明显位置标明原文名称.作者及网址,谢谢! 本文使用的工具下载地址为: https://github.com/cnxy/dnSpy/archive/v4.0.0.zip 或 dnSpy官方下载地址: https://github.com/0xd4d/dnSpy/releases/download/v4.0.0/dnSpy.zip 软件界面如下: 该软件分别64位版本及32位版本,分别为dnSpy.exe 及 dnSpy-x86.exe…