在很大的项目开发,会发现项目引用的 dll 会很多,我想要按照不同的功能,将不同的 dll 放在不同的文件夹



简单的方法是通过修改 App.config 文件指定文件夹,如将文件移动到 abc\12 的文件夹里面,可以在 App.config 添加代码

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="abc\12" />
</assemblyBinding>
</runtime>
</configuration>

如创建一个简单的项目,此时项目引用一个dll 如 doubi.dll 这个项目运行的时候输出的文件有 lindexi.exe 和 doubi.dll 文件

这时需要将 doubi.dll 移动到文件夹 abc\12 里面

lindexi.exe
abc\12\doubi.dll

打开 App.config 添加上面的代码就可以

如果有两个不同的dll需要放在两个不同的文件夹,如 walter.dll 需要放在 walter 文件夹

<probing privatePath="abc\12" /> 里面使用分号表示不同的文件夹 probing privatePath="abc\12;walter" 不同的文件夹之间用分号分开

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="abc\12;walter" />
</assemblyBinding>
</runtime>
</configuration>

这个 App.config 在编译之后会在被修改为 程序集名.exe.config 在输出文件夹找到 xx.exe.config 可以通过修改这个文件在编译之后修改 dll 的寻找文件夹

如果是对于 C++ 的 dll 需要做特殊引用,如需要区分 x86 和 x64 请看 C# 如何在项目引用x86 x64的非托管代码

不能直接添加一个 x86 文件和一个 x64 文件夹,通过 privatePath 同时指定文件夹的方式

我搭建了自己的博客 https://blog.lindexi.com/ 欢迎大家访问,里面有很多新的博客。只有在我看到博客写成熟之后才会放在csdn或博客园,但是一旦发布了就不再更新

如果在博客看到有任何不懂的,欢迎交流,我搭建了 dotnet 职业技术学院 欢迎大家加入


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

C# 通过 probing 指定 dll 寻找文件夹的更多相关文章

  1. 关于指定dll搜索路径

    原文:关于指定dll搜索路径 问题现象 当部分DLL放在子文件夹下,需要指定DLL搜索路径,否则系统将找不到文件 产生原因 系统默认搜索只会在前程序目录并不包括子目录 解决方法 1,使用App.con ...

  2. GIT 如何合并另一个远程Git仓库的文件到本地仓库里某个指定子文件夹并不丢失远程提交记录?

    问题背景:     最近在重新整理手中的一个项目,目前该项目分为PC项目,手机项目,某第三方接口项目,第三方接口服务项目和手机项目     因为之前规划的原因,原来的四个项目是分两个解决方案来管理的 ...

  3. 每日学习心得:SharePoint 为列表中的文件夹添加子项(文件夹)、新增指定内容类型的子项、查询列表中指定的文件夹下的内容

    前言: 这里主要是针对列表中的文件下新增子项的操作,同时在新建子项时,可以为子项指定特定的内容类型,在某些时候需要查询指定的文件夹下的内容,针对这些场景都一一给力示例和说明,都是一些很小的知识点,希望 ...

  4. python之对指定目录文件夹的批量重命名

    python之对指定目录文件夹的批量重命名 import os,shutil,string dir = "/Users/lee0oo0/Documents/python/test" ...

  5. Sublime Text 查找时排除指定的文件夹或文件

    Sublime Text 查找时排除指定的文件夹或文件 Ctrl + Shift + F这组快捷键可以调出 Sublime Text 的查找替换窗口,里边有一栏 Where,可以做一些高级设置:d:\ ...

  6. cmd进入指定的文件夹

    怎么利用cmd进入指定的文件夹呢? 1:win+r ——cmd 2:进入要到达的盘符 (比如我要进入d盘) 3:然后通过  cd d:\project    进入指定的文件夹

  7. 怎么用dos命令进入指定的文件夹

    在正常开发中经常需要我们进入指定的文件夹下面的例子演示了进入这个文件夹D:\portal\liferay-portal-tomcat-5.5-4.4.0的dos命令 win+R---->输入cm ...

  8. unzip解压指定我文件夹

    解压try.zip中指定的文件夹 unzip try.zip "try/*" shell中异常处理 { # your 'try' block executeCommandWhich ...

  9. Inno如何在安装完成时删除指定的文件夹(下的所有文件及子目录)??

    删除安装目录下的任意文件夹及下的所有文件及子目录,或者删除指定目录的文件夹,要如何做到呢?谢谢!! //删除文件    用 DeleteFile 只能删除一个文件,不能使用通配符来删除多个文件Dele ...

随机推荐

  1. 权限系统的设计模式 ACL RBAC ABAC

    ACL(Access Control List):访问权限列表  如: user1-->AC1 user1-->AC2 user2-->AC1    此时权限汇总成一个列表 这种设计 ...

  2. 仔细看看Javascript中的逻辑与(&&)和逻辑或(||)

    学过Java和C的人,都知道逻辑与(&&)和逻辑或(||),他们都是短路运算符,也就是说,对于&&来说,只要左边的操作数是false,它就不会再去判断右边的操作数是tr ...

  3. IP应用加速 – DCDN迈入全栈新篇章

    4月11日,第七届"亚太内容分发大会"暨CDN峰会国际论坛中,阿里云资深技术专家姚伟斌发布了DCDN子产品IP应用加速(IPA).IPA是基于阿里云CDN本身的资源优化,对传输层( ...

  4. Vue CLI图形化创建项目

  5. wepy ——$apply

    1.说明 在异步函数中更新数据的时候,必须手动调用 $apply 方法. 2.代码和效果 // html <button type="primary" plain=" ...

  6. python基础---字符串常用方法汇总

    s3 = '123's2 = ' 's1 = 'This Is \t Cash's='abcdefghijklmnopqrstuvwxyz's4 = "0000000this is stri ...

  7. oracle函数 MAX([distinct|all]x)

    [功能]统计数据表选中行x列的最大值. [参数]all表示对所有的值求最大值,distinct只对不同的值求最大值,默认为all 如果有参数distinct或all,需有空格与x(列)隔开. [参数] ...

  8. 根据花瓶的侧面投影图,用Matlab绘制花瓶的三维立体图

    现有一花瓶侧面投影如图 问题: 1)    做出该花瓶三维立体图: 2)    计算其表面积:  计算其体积. 第一次参加数学建模,从来没有接触过Matlab语言,一上来就碰到这种数字图像处理的问题就 ...

  9. 我钟爱的HTML5和CSS3在线工具【转】

    我真的喜欢上了HTML5, CSS3, JavaScript编程,但是有一些代码还是需要一些辅助工具来做才行,例如,CSS3的Gradient渐变如果手写代码的话真的不爽,还有像animation动画 ...

  10. hdu 5793 A Boring Question(2016第六场多校)

    A Boring Question Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others ...