DLL放在指定目录 以及设置dll调用路径

一、DLL放在指定目录

在编写C# winform程序中,不免一个项目会有多个工程文件,而这些工程文件之间是相互引用的,所以不想将工程的生成结果(exe或者dll)放在当前工程bin目录下的Debug目录或者Release目录,而是放在一个公共的目录下,比如DLLImport目录下,如何实现这个工程呢,我们知道,如果是C++,我们可以使用cmake来部署我的项目,同样在c#中也可以实现这样的功能,我们只需在每个工程的“属性”----“生成事件”----“生成后事件命令行”写入如下代码即可:

IF $(ConfigurationName)==Debug xcopy "$(TargetPath)" "$(SolutionDir)DLLImport\Debug\" /s/e/y
IF $(ConfigurationName)==Release xcopy "$(TargetPath)" "$(SolutionDir)DLLImport\Release\" /s/e/y

相关命令:http://msdn.microsoft.com/zh-cn/library/42x5kfw4(v=vs.90).aspx

二、设置dll调用路径

app.config文件中加上
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <probing privatePath="libs"/>
    </assemblyBinding>
  </runtime>
libs为当前程序所在目录下的文件夹

时间: 2024-10-12 21:13:05

DLL放在指定目录 以及设置dll调用路径的相关文章

C# Winform程序把引用的dll放到指定目录

如果项目引用了很多dll,发布的时候放同一目录会很乱,这时候可以用privatePath后面指定搜索的dll文件夹,多个用;分隔 另外,发现在配置文件夹中 configSource 也是可以指定目录的 <runtime> <gcConcurrent enabled="true" /> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <publisherPo

一种把dll放在不同目录的巧妙方法

想必C#的开发者都遇到过这个问题,引用的dll都放在根目录下,随着项目的日益增大,根目录下充满了各种各样的dll,非常的不美观. 如果能够把dll按照想要的目录来存放,那么系统就美观多了,以下是我常用的程序各文件的分布: [3rdLibs] NLog.dll Newtonsoft.Json.dll -- [MyLibs] [Resources] [Images] Excecutable.exe Excecuteble.exe.config 好吧我承认以上是抄袭的http://www.cnblog

C# 中使用 ThoughtWorks.QRCode.dll 生成指定尺寸和边框宽度的二维码

本文介绍在 C# 中使用 ThoughtWorks.QRCode.dll 生成指定尺寸和边框宽度的二维码.网上文章大多只是简单介绍内置参数的设置,根据我的使用目的,增加了自定义目标二维码图片尺寸和白边边框.有需要的朋友们可以试一下,如有bug欢迎指正. 首先,将 ThoughtWorks.QRCode.dll 放在 bin 目录后,在页面中引用: using ThoughtWorks.QRCode.Codec; 生成二维码图片: 1 2 3 4 5 6 7 8 9 10 11 12 13 14

[转载]解析WINDOWS中的DLL文件---经典DLL解读

在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字——动态链接库.现在就走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧!  初窥门径:Windows的基石 随便打开一个系统目录,一眼望去就能看到很多扩展名DLL的文件,这些就是经常说的“动态链接库”,DLL是Dynamic Link Library(即“动态链接库”)的缩写.从Microsoft公司推出首个版本的Windows以来,动态链接库就一直是这个操作系统的基础. 1.看看DLL里有什么 与其用晦涩的专业术语来解决DLL是

Linux sftp限制用户访问指定目录

一.创建新用户: [root@controller ~]# useradd test[root@controller ~]# passwd testNew password: BAD PASSWORD: The password is a palindromeRetype new password: passwd: all authentication tokens updated successfully. 二.修改sshd配置文件: [root@controller ~]# vi /etc/

VC项目程序运行时设置指定目录读取Dll

方法一: 选择当前工程,右击"Properties" -> "Configuration Properties" -> "Debugging",在"Working Directory"设置dll的路径就可以了 方法二:设置项目的环境变量 方法三: CString strDllPath = GetExePath() + _T("System"); SetDllDirectory(strDllPat

MFC动态调用dll到指定的进程中(win7系统vs2013环境下)

一.主程序 1.新建一个MFC项目,类型选择基于对话框 2.写一个简单的窗体 点击启动事件 MessageBox(L"调用Dll到程序中成功."); 二.要调用的Dll 1.新建一个win32dll 选择dll.勾选导出符号 1.生成Dll项目 此时会在主程序Main的debug文件夹中生成了Dll.dll和Dll.lib文件 三.配置主程序Main的属性 1.选择链接器--输入--附加依赖项:Dll.lib 1.选择连接器--输入--常规--附加库目录:..\Debug 1.包含头文

VS2013正确设置DLL环境变量目录的方法

VS有个比较迷惑人的一个选项就是在工程>>属性中有个Executable Directories设置项, 几乎所有地球人都认为这个选项是设置DLL目录用的,这无疑会方便用户调式,不用来回拷贝一堆DLL文件到工程目录运行,但是所有人都他喵的失败了. google了一下,正确的做法是设置Debugging >> Environment目录,语法是PATH=目录,就像cmd下设置环境变量那样.

vs2008设置dll、lib库的输出路径

vs2008中,有些项目上的功能是要生产库文件给其他项目调用的,以下是一些设置库文件(x.dll和x.lib)输出路径的方法. 设置x.dll 输出路径方法是在右键项目的"属性"->连接器->常规, 然后在常规属性界面中的 "输出文件" 中填入自己想要x.dll文件的输出路径. 设置x.lib 输出路径方法是在右键项目的"属性"->连接器->高级, 然后在高级属性界面中的 "导入库" 项中填入自己想要x