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
0
投稿

猜你喜欢

  • RestTemplate自定义请求失败异常处理示例解析

    2021-12-03 22:13:17
  • 关于Spring中的三级缓存解析

    2022-08-20 15:31:06
  • 教你java面试时如何聊单例模式

    2022-04-14 05:32:57
  • Android12 蓝牙适配的实现步骤

    2021-08-25 08:36:34
  • C#中重载重写和覆盖的定义与区别

    2022-04-23 09:25:34
  • javaweb购物车案列学习开发

    2021-10-28 13:30:26
  • Android编程判断网络是否可用及调用系统设置项的方法

    2023-08-14 13:05:22
  • java获取网络图片上传到OSS的方法

    2023-10-14 23:01:07
  • C#控制台实现飞行棋游戏

    2022-03-12 04:18:40
  • kafka并发写大消息异常TimeoutException排查记录

    2023-11-27 23:07:11
  • SpringBoot整合WebService服务的实现代码

    2021-11-11 14:59:11
  • Java一维数组和二维数组元素默认初始化值的判断方式

    2022-03-08 21:17:49
  • Java 基础语法

    2021-09-21 19:26:32
  • Android SeekBar实现平滑滚动

    2022-01-21 10:51:24
  • C#操作txt文件,进行清空添加操作的小例子

    2023-05-24 14:06:07
  • Android实现自定义曲线图

    2023-08-22 07:05:01
  • ANDROID 完美退出APP的实例代码

    2023-04-27 13:03:06
  • Android Monkey压力测试详细介绍

    2021-10-24 08:02:37
  • 利用C#实现SSLSocket加密通讯的方法详解

    2023-03-01 02:23:05
  • springboot+jwt实现token登陆权限认证的实现

    2021-12-22 12:02:46
  • asp之家 软件编程 m.aspxhome.com