关于生成exe和dll到指定目标目录 找不到dll的问题

水目 2016-09-18 12:46:27
问题是这样的 最近看到过一个程序 是将dll生成到指定的目录 该目录有Config,Plugin,Lib等目录,有exe文件
如下目录结构
--App
----Config(文件夹)
----Plugin(文件夹)
----Lib(文件夹)
----Test.exe
注:Test.exe和Plugin.Lib下的dll文件都是其他项目中通过输出路径生成进去的,也就是App文件夹不在任何dll或者exe项目文件夹中
程序开始运行(Test.exe)后,会加载Plugin和Lib文件夹的dll运行

我也尝试这么去做,我exe项目中引用了Plugin下的dll文件(相对路径),编译没有问题,但是调试的时候找不到Plugin下的dll

尝试了 用privatepath加载
也尝试了 AppDomain的AssemblyResolve 事件去加载 都没成功

因为在还没开始运行main方法就报异常 找不到Plugin下的某个dll(当然这是在main方法中有用到Plugin下dll的内容时),所以没法调试具体哪里的错.




using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using My.Service; //Plugin下dll命名空间

class Program
{
static void Main(string[] args)
{
AppDomain app = AppDomain.CurrentDomain;
app.AssemblyResolve += App_AssemblyResolve;
//注释掉下面一行就不会报错 放开就会报找不到相应的dll文件
IContainer container = Container.Instance();



我的本意是想公用 Plugin,Lib,以及config文件夹,不太的程序只要生产相应的exe到Plugin同级目录下,运行exe即可,这样的话就不用每个项目都去创建以上的文件夹

请各位高手指导下 ,谢谢
...全文
206 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧