当CLR要定位一个程序集时,它将扫描应用程序的几个子目录,下面是CLR扫描一个语言文化中性的程序集时的顺序:
AppBase\AsmName.dll
AppBase\AsmName\AsmName.dll
如果在上面的目录下没有找到该程序集,CLR将以.exe代替.dll扩展名来搜索。如果仍找不到,将抛出FileNotFoundException异常。
对于其他语言文化程序集(即卫星程序集)来说,除了期望被放在应用程序集目录下,且名字和语言文化相匹配的子目录外,其他规则仍适用。
以"en-US"为例,CLR将扫描以下目录:
AppBase\en-US\AsmName.dll
AppBase\en-US\AsmName\AsmName.dll
AppBase\en-US\AsmName.exe
AppBase\en-US\AsmName\AsmName.exe