相关文章推荐
行走的苹果  ·  C# ...·  2 月前    · 
小胡子的皮带  ·  C# 中的ushort - CSDN文库·  2 月前    · 
高大的板栗  ·  datepicker插件 ...·  1 年前    · 
冷静的脆皮肠  ·  go - Weird syntax in ...·  1 年前    · 
备案 控制台
学习
实践
活动
专区
工具
TVP
写文章
专栏首页 CSharp编程大全 C#中dll放到子目录的引用问题
2 0

海报分享

C#中dll放到子目录的引用问题

在一个C#的项目里添加引用了好多个dll程序(默认自动复制到本地那种),并通过using namespace...调用的。现在在主程序里需要调用好多个外部的dll,变了生产项目后,exe同一目录太多dll了。现在想按照一定的规则给这些dll分别保存在exe下的不同一个目录,如suport_dll , manager_dll目录下,该如何做呢?

方法1:

解答: 在应用程序运行的时候,会检查当前程序运行的目录有无所需要的dll文件,如果找不到,就会查找APP.Config配置文件中所配置的目录

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

<runtime>

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <probing privatePath="bin;bin\B"/>

</assemblyBinding>

</runtime>

</configuration>

网址:http://www.360doc.com/content/15/1106/16/14578864_511226718.shtml

按照此讲解,我的App.config修改如下:

配置如下,多个目录用;分隔

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
    </startup>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <probing privatePath="bin;dll"/>
    </assemblyBinding>
  </runtime>
</configuration>

我的dll文件放在dll文件夹下

然后将dll文件夹包括到项目中,将文件的复制到输出目录属性设置为始终复制,将引用中所需的dll的复制到本地属性设置为false