日期:2014-05-18  浏览次数:20436 次

ASP.NET引用的DLL一定要放在虚拟目录下吗?
如果我的虚拟目录下有多个工程
如:虚拟目录是d:\aaa
然后各有
d:\aaa\a1
d:\aaa\a2
d:\aaa\a3
三个项
各有各自的DLL
放在各自目录的BIN目录下(d:\aaa\a1\bin)不可以吗?

如果不可以,那有什么方法吗?
谢谢

------解决方案--------------------
.Net程序集合分为两种,一种是私有程序集一种是强命名程序集

私有程序集只能放在应用程序目录下,可以放的目录有:
1 应用程序根目录
2 应用程序Bin目录
3 根目录\程序集名\
4 配置文件privatePath属性指定的目录

强命名程序集是用私有密匙对程序集PE文件签名 再用公有密匙 "反签名 "的程序集
可以放在(加载顺序):
1 公共程序集缓存Gac目录 目录形式为:程序集文件名\组合目录名(版本,语言文化标识,公钥标记)\
2 由配置文件codeBase元素指定的网络程序集路径
3 "弱命名程序集 "可以放的地方
------解决方案--------------------
欲引用的【私有程序集】只能放在自己应用程序中的【可搜索路径】下

对于 ASP.NET Application 此路径是根目录的 bin 文件夹