VS中,关于解决方案的疑问

boything51 2012-04-04 09:12:09
我用的语言是C#,比如有如下解决方案
Abc解决方案
---项目1(输出为类库:a.dll)
---项目2(输出为窗口程序:b.exe,且引用a.dll中的类)
---项目3

我还不懂部署技术,我有各疑惑,当引用项目1后,在VS里b.exe程序可以正常运行
问题1,那我是否要在项目2中编码加载a.dll的逻辑呢,不然发布b.exe后再运行时,他怎么调用项目1里的类呢,还是部署时将a.dll放在b.exe相同目录呢
问题2,如果在VS中引用后,程序运行时就能自动加载主程序要的程序集,那什么情况下要自己编码动态加载别的程序集呢
...全文
89 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
boything51 2012-04-04
  • 打赏
  • 举报
回复
大体明白了,以后慢慢实践吧
threenewbee 2012-04-04
  • 打赏
  • 举报
回复
ls说了,你可以配置程序在别的目录中搜索程序集。但是无论是哪一种方式,很明显,程序集的位置必须是明确的,要么是开发者指定,要么是系统默认,要么是用户指定。没有一种方法,可以让程序漫无边际地乱找。

“引用”和反射的区别在于,前者是在编译期将程序和程序集连在一起,后者是运行时加载,反射就不需要引用了。
boything51 2012-04-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

还有一个办法就是使用反射按照需要加载。
[/Quote]我的疑问就在这里:
我的疑问是:在VS里的引用操作,只是在同目录下找要引用的程序集,是么,如果不在同目录下,就得自己用加载,再用反射来调用它,是么
只在此山中 2012-04-04
  • 打赏
  • 举报
回复
使用配置文件配置程序集搜索路径,包括搜索子目录,这样就可以 文件夹归类.
只在此山中 2012-04-04
  • 打赏
  • 举报
回复
如果我的项目比较复杂,比如有上百个程序集,那可能只能用文件夹归类部署呢。

可以修改App.config,用配置项,指定引用的程序集路径,同时允许搜索子目录程序集,
这样就可以使用文件夹归类.
threenewbee 2012-04-04
  • 打赏
  • 举报
回复
还有一个办法就是使用反射按照需要加载。
threenewbee 2012-04-04
  • 打赏
  • 举报
回复
那需要注册到全局程序集缓存(GAC)中,这使得你的类看上去像.NET框架库那样。
boything51 2012-04-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

不需要。只需要将它们放入同一个文件夹就可以了。
[/Quote]如果我的项目比较复杂,比如有上百个程序集,那可能只能用文件夹归类部署呢。
threenewbee 2012-04-04
  • 打赏
  • 举报
回复
不需要。只需要将它们放入同一个文件夹就可以了。

111,126

社区成员

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

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

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