C#如何通过probing指定dll寻找文件夹详解
作者:lindexi 时间:2023-07-22 12:59:37
前言
我们在很大的项目开发,会发现项目引用的 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://lindexi.gitee.io/lindexi/post/C-通过-probing-指定-dll-寻找文件夹.html
标签:c#,probing,dll
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
RestTemplate自定义请求失败异常处理示例解析
2021-12-03 22:13:17
![](https://img.aspxhome.com/file/2023/0/60700_0s.png)
关于Spring中的三级缓存解析
2022-08-20 15:31:06
![](https://img.aspxhome.com/file/2023/5/122965_0s.jpg)
教你java面试时如何聊单例模式
2022-04-14 05:32:57
![](https://img.aspxhome.com/file/2023/6/119186_0s.png)
Android12 蓝牙适配的实现步骤
2021-08-25 08:36:34
![](https://img.aspxhome.com/file/2023/4/119094_0s.gif)
C#中重载重写和覆盖的定义与区别
2022-04-23 09:25:34
javaweb购物车案列学习开发
2021-10-28 13:30:26
![](https://img.aspxhome.com/file/2023/3/113463_0s.jpg)
Android编程判断网络是否可用及调用系统设置项的方法
2023-08-14 13:05:22
java获取网络图片上传到OSS的方法
2023-10-14 23:01:07
C#控制台实现飞行棋游戏
2022-03-12 04:18:40
![](https://img.aspxhome.com/file/2023/2/94642_0s.jpg)
kafka并发写大消息异常TimeoutException排查记录
2023-11-27 23:07:11
![](https://img.aspxhome.com/file/2023/8/60368_0s.png)
SpringBoot整合WebService服务的实现代码
2021-11-11 14:59:11
![](https://img.aspxhome.com/file/2023/2/60542_0s.png)
Java一维数组和二维数组元素默认初始化值的判断方式
2022-03-08 21:17:49
![](https://img.aspxhome.com/file/2023/4/125234_0s.png)
Java 基础语法
2021-09-21 19:26:32
Android SeekBar实现平滑滚动
2022-01-21 10:51:24
![](https://img.aspxhome.com/file/2023/6/97876_0s.jpg)
C#操作txt文件,进行清空添加操作的小例子
2023-05-24 14:06:07
Android实现自定义曲线图
2023-08-22 07:05:01
![](https://img.aspxhome.com/file/2023/0/137700_0s.jpg)
ANDROID 完美退出APP的实例代码
2023-04-27 13:03:06
Android Monkey压力测试详细介绍
2021-10-24 08:02:37
![](https://img.aspxhome.com/file/2023/0/137790_0s.png)
利用C#实现SSLSocket加密通讯的方法详解
2023-03-01 02:23:05
![](https://img.aspxhome.com/file/2023/4/102274_0s.png)
springboot+jwt实现token登陆权限认证的实现
2021-12-22 12:02:46