当C# dll被其他程序调用时,用Application.StartupPath获取的dll路径并不一定是此dll的物理路径,有可能是调用程序的路径. 以下方法或者能够获取dll正确的物理路径(未经过严格验证): //获取到文件完整路径 string path = Assembly.GetExecutingAssembly().Location; //获取到文件所在目录 FileInfo finfo = new FileInfo(s); string path = finfo.Directory…
项目中做了一个通用组件的类库,类库中引用了几个第三方组件(DLL),组件发布给同事使用时,需要同时将这几个第三方的DLL一并复制过去,然后添加相关组件的引用. 如何能够将这些第三方的DLL直接打包到我的组件中,而不暴露给调用者,首先想到的是将DLL包装成“嵌入的资源”,而这种方案需要在首先调用将资源程序自动解成物理文件,其结果仍旧是暴露了第三方组件. 后来找到Ilmerge这个工具,该工具是微软官方提供的程序集合并工具,使用方法: 安装后,CMD进入安装好的目录,打命令: ilmerge Jan…
MySQL 安装和启动服务,以及遇到的问题 MySQL版本: mysql-5.7.13-winx64.zip (免安装,解压放到程序文件夹即可,比如 C:\Program Files\mysql-5.7.13-winx64) 下载地址:http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.13-winx64.zip 遇到的问题: 1. MySQL service 已经安装成功,创建了空的data文件夹,也填了初始化ini文件,但是无法启动…
最近比较懒,加上内容也不多就懒得排版了,字放大了,看起来应该方便一点 直接进入主题 先来看一个栗子,假设现在有一个第三方dll namespace TestLibrary1 { public class Test { public void Point() { Console.WriteLine("aaabbbccc"); } } } TestLibrary1.dll 在项目中引用,然后调用其中的方法Test,将输出aaabbbccc using System; namespace C…
一.添加控件IrisSkin2.dll. 方法:         1.右键“工具箱”.“添加选项卡”,取名“皮肤”.         2.右键“皮肤”,“选择项”弹出对话框        3.点击“浏览“,找到IrisSkin2.dll,,next,next,确定.        4.在皮肤里会出现.        5.把SkinEngine拖到设计界面,会出现在下面. 二,把皮肤文件中以ssk为后缀名的文件(如OneGreen.ssk)放在bin文件夹的debug文件夹里. 三,添加代码.  …
问题: oracle服务设置为手动启动.但是开机后手动启动监听服务后弹出框,提示“本地计算机上的OracleOraDb11g_home1TNSListener服务启动后停止.某些服务在未由其他服务或程序使用时将自动停止.”.如下图: 原因: 我本地数据库设置了远程访问,通过WiFi共享大师(软件)开启WiFi分享给同事,同事连接该WiFi来访问我的数据库.但是WiFi是需要手动开启的,由于Oracle数据库中配置了监听,在不开启该WiFi的情况下,监听器找不到监听的内容,所以才报出上图出现的错误…
用C#写个windows服务,安装部署后去启动时,提示说“本地计算机上的XXX服务启动后停止.某些服务在未由其它服务或程序使用时将自动停止”.咋整?就像下面酱紫: 度娘说不知道咋整,我想把程序附加到windows服务进程跟踪看看是什么鬼在捣乱,然后发现服务都没法启动,跟踪就更不可能. 又把程序查了一遍,然后又重新生成,重新安装,还是老样子.郁闷…… 正埋头苦思的时候——我才想起我这是个服务!是个服务啊! 于是就去看window日志,找到对应我的服务的这条日志一看……彻底晕了,原来是我脑袋秀逗,粗…
vmware tools安装程序无法继续,Microsoft Runtime DLL安装程序未能完成安装.的解决方法_华英雄_新浪博客 http://blog.sina.com.cn/s/blog_54bf02090100xlqy.html   现象:VMware Workstation 8.0在安装VMware Tools时弹出对话框,提示"安装程序无法继续.Microsoft Runtime DLL安装程序未能完成安装."如图: 原因:虚拟机中Windows Installer服务…
实现的方式有多种. 1 Mono 项目中有一个工具,mono的一个附属工具mkbundle.(在Xamarin未被收购开源前,它是加密的商业软件.http://www.cnblogs.com/binsys/archive/2012/11/29/2793903.html) 2 DNGuard 一款商业加密的工具 3 Fody  麻雀(马尔加什语言)项目 以下是摘自院子里的文章.. 把C#程序(含多个Dll)合并成一个Exe的超简单方法   开发程序的时候经常会引用一些第三方的DLL,然后编译生成的…
窦宁波大哥哥的那篇文章的这种写法还是很有参考价值的. QString strLibPath(QDir::toNativeSeparators(QApplication::applicationDirPath()) +QDir::separator()+"plugins"); qApp.addLibraryPath(strLibPath); 比如可以把一堆dll文件放到程序目录下的一个自建目录里面,比如runtime,这样就避免了一大堆dll文件和程序在一起了,值得提倡. http://…