首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >C#中dll放到子目录的引用问题

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

作者头像
zls365
发布于 2020-08-19 03:10:25
发布于 2020-08-19 03:10:25
4K00
代码可运行
举报
文章被收录于专栏:CSharp编程大全CSharp编程大全
运行总次数:0
代码可运行

在一个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修改如下:

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?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

还有其它的方法可以参考:https://blog.csdn.net/u012842630/article/details/90744245

方法2:

下面假设 Project 名为 Gamma4RTD,需要调用的 dll 文件为 rtddll.dll。IDEVisual Studio 2015

打开 Visual Studio 2015 -> Project -> Gamma4RTD Properties...。然后在 Post-build event command line: 下面填写如下这条命令即可:

Copy "

https://blog.csdn.net/heray1990/article/details/72270671

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CSharp编程大全 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
如何解决Newtonsoft.Json的版本冲突
在调用金蝶云星空的时候,引用的其C# SDK,但是他使用的是低版本的Newtonsoft,本来想要反编译,然后引用新的版本。后来问了群里的朋友,其实有一个简单的办法。
崔文远TroyCui
2021/12/24
3.3K0
CLR查找和加载程序集的方式(二) 流程图
  在前一篇文章《CLR查找和加载程序集的方式(一)》中详细介绍了CLR查找和加载程序的方式,分别介绍了配置与代码的实现方式。
张传宁IT讲堂
2019/09/17
8500
CLR查找和加载程序集的方式(二) 流程图
.NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
当你的项目中多个不同的项目以及不同的依赖存在不同的依赖程序集时,可能会因为依赖于不同版本的程序集而产生冲突。而绑定重定向可以帮助解决不同程序集的依赖版本不同的问题,使整个程序使用统一个版本的 dll 来运行整个应用程序。
walterlv
2023/10/22
1.6K0
C# 通过 probing 指定 dll 寻找文件夹
在很大的项目开发,会发现项目引用的 dll 会很多,我想要按照不同的功能,将不同的 dll 放在不同的文件夹
林德熙
2019/03/13
2.2K0
CLR查找和加载程序集的方式(一)
  C#开发者在开发WinForm程序、Asp.Net Web(MVC)程序等,不可避免的在项目中引用许多第三方的DLL程序集,
张传宁IT讲堂
2019/09/17
2.1K0
CLR查找和加载程序集的方式(一)
使用C#通过Oracle.DataAccess连接Oracle,部署时需要注意版本问题
平时我们开发使用的是32位的PC机,所以安装的也是Oracle32位的客户端。但是一般服务器都是64位的,安装的也是64位的Oracle客户端,如果要部署使用Oracle.DataAccess连接Oracle的应用程序时,可能会遇到版本上的问题。
深蓝studyzy
2022/06/16
1.6K0
使用C#通过Oracle.DataAccess连接Oracle,部署时需要注意版本问题
WCF集成COM+应用程序遇到的问题
本文转载:http://www.cnblogs.com/Charles2008/archive/2010/06/24/1764510.html
跟着阿笨一起玩NET
2018/09/18
8370
WCF集成COM+应用程序遇到的问题
Asp.net 2.0 WebPart使用经验点滴
这几天学习使用WebPart,发现众多问题,使用点滴记录如下,同各位共享: 1、WebPart的使用必须基于一个通过身份验证的用户会话。 2、WebPart的使用的个性化应用于所有人的选项默认是禁用的,可以通过修改Web.config来完成 <webParts>    <personalization>           <authorization>              <allow users="*" verbs="enterSharedScope" />           </author
张善友
2018/01/19
5560
Shadow Copying导致ASP.NET应用启动很慢的解决办法
我们安装一个应用程序并启动后,我们是无法更新应用程序安装目录中程序集文件的。如果强制替换会提示文件正在使用,如下图所示。
圣杰
2018/08/01
9710
Shadow Copying导致ASP.NET应用启动很慢的解决办法
使用CEF(二)— 基于VS2019编写一个简单CEF样例
在这一节中,本人将会在Windows下使用VS2019创建一个空白的C++Windows Desktop Application项目,逐步进行修改配置和代码编写,并在这个过程中介绍vs使用过程中和C++项目的结合。源码见文章末尾Github链接。
w4ngzhen
2023/10/18
1.8K0
使用CEF(二)— 基于VS2019编写一个简单CEF样例
C# WPF 嵌入网页版WebGL油田三维可视化监控 0x00 楔子0x01 寂静无声0x02 初步尝试0x03 CefSharp现身0x04
最近做的一个项目,是一个油田三维可视化监控的场景编辑和监控的系统,和三维组态有些类似,不过主要用于油田上。 效果如下图所示:
用户3158888
2020/05/12
3.1K1
C# WPF 嵌入网页版WebGL油田三维可视化监控
                            0x00 楔子0x01 寂静无声0x02 初步尝试0x03 CefSharp现身0x04
ASP.NET MVC模块化开发——动态挂载外部项目
最近在开发一个MVC框架,开发过程中考虑到以后开发依托于框架的项目,为了框架的维护更新升级,代码肯定要和具体的业务工程分割开来,所以需要解决业务工程挂载在框架工程的问题,MVC与传统的ASP.NET不同,WebForm项目只需要挂在虚拟目录拷贝dll就可以访问,但是MVC不可能去引用工程项目的dll重新编译,从而产生了开发一个动态挂在MVC项目功能的想法,MVC项目挂载主要有几个问题,接下来进行详细的分析与完成解决方案
code2roc
2023/07/19
4310
ASP.NET MVC模块化开发——动态挂载外部项目
C# 日志管理框架:Common.Logging和log4net
‍common logging是一个通用日志接口框架,log4net是一个强大的具体实现框架. common logging可以把输出连接到其他非log类上, 如EntLib的日志、NLog等‍‍‍‍‍‍‍‍‍‍‍‍‍
用户9127601
2022/01/13
1.9K0
C# 日志管理框架:Common.Logging和log4net
使用CEF(四)— 在QT中集成CEF(1)基本集成
QT作为C++下著名的跨平台软件开发框架,实现了一套代码可以在所有的操作系统、平台和屏幕类型上部署。我们前几篇文章讲解了如何构建一款基于CEF的简单的样例,但这些样例的GUI都是使用的原生的或者是控件功能不强大的CEF视图框架。本文将会重新开始,使用VS2019编写一款基于QT的并嵌入原生窗体的文章。
w4ngzhen
2023/10/17
2.7K0
使用CEF(四)— 在QT中集成CEF(1)基本集成
【愚公系列】2023年02月 WMS智能仓储系统-009.程序集动态注入
程序集动态注入可以避免手动注入程序集产生大量的代码,要实现程序集的动态注入其实就是需要用到反射。
愚公搬代码
2023/03/16
3610
【愚公系列】2023年02月 WMS智能仓储系统-009.程序集动态注入
“老坛泡新菜”:SOD MVVM框架,让WinForms焕发新春
火热的MVVM框架 最近几年最热门的技术之一就是前端技术了,各种前端框架,前端标准和前端设计风格层出不穷,而在众多前端框架中具有MVC,MVVM功能的框架成为耀眼新星,比如GitHub关注度很高的Vue.js ,由于是国人作品,其设计风格和文档友好度对国人而言更胜一筹,因此我也将它推荐到公司采用,其中我推荐都理由就是它非常优秀的MVVM功能,面向数据而不是面向DOM细节相比jQuery等更加节省代码,更符合后端程序员的胃口,也更有利于UI设计人员跟程序员都分工配合。 下面是Vue.js实现MVVM功能的原理
用户1177503
2018/02/27
4.4K0
“老坛泡新菜”:SOD MVVM框架,让WinForms焕发新春
用 WiX 制作安装包:制作 WPF 安装包界面(入门篇)
本文是 WiX Toolset 安装包制作入门教程 系列中的一篇,可前往阅读完整教程。
walterlv
2023/10/23
1.6K0
用 WiX 制作安装包:制作 WPF 安装包界面(入门篇)
在windows下为你的go打包程序添加图标并去除黑窗口
-ldflags="-linkmode internal" 通过Directory的方式编译,编译器会自动寻找同目录下的资源文件并打包进EXE
友儿
2023/04/06
1.8K0
[C#][转载]注册表访问读写权限解决方法
项目 - 属性 - 安全性,“使用ClickOnce”,修改app.mainfest,再取消“使用ClickOnce”
云未归来
2025/07/18
1230
[C#][转载]注册表访问读写权限解决方法
C# 引用不同版本 dll
同一解决方案中,不同工程可能需要引用同一DLL的不同版本(非必须,不推荐);以下是解决方案。
jgrass
2024/12/25
3290
推荐阅读
相关推荐
如何解决Newtonsoft.Json的版本冲突
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档