程序集绑定出错问题(紧急)
由于其它原因,A.dll没有部署在应用程序EAI.exe的子目录中,这样在应用程序的EAI.exe.config文件中指定:
<dependentAssembly>
<assemblyIdentity name= "A " culture= "neutral "/>
<codeBase href= "../AA/A.dll "/>
</dependentAssembly>
说明:A.dll为非强签名文件 ,而且A.dll也存在指定AA的目录。
运行时总是报错:无法加载应用A.dll或它的依赖项。
从绑定日志上看好像EAI.exe.config并没有起作用,为什么会从Framework搜索?
跟踪程序集绑定日志:
操作失败。
绑定结果: hr = 0x80070002。The system cannot find the file specified.
程序集管理器加载位置: C:\WINDOWS\Microsoft.NET\Framework\V2.0.50727\mscorwks.dll
在可执行文件下运行 C:\U8SOFT\EAI\U8EAI.exe
--- 详细的错误日志如下。
=== 预绑定状态信息 ===
日志: 用户 = PDOMAIN\XXXX
日志: Where-ref 绑定。位置 = C:\SOFT\Framework\A.dll
日志: Appbase = file:///C:/SOFT/EAI/
日志: 初始 PrivatePath = NULL
日志: 动态基 = NULL
日志: 缓存基 = NULL
日志: AppName = EAI.exe
调用程序集: (Unknown)。
===
日志: 此绑定从 LoadFrom 加载上下文开始。
警告: 将不在 LoadFrom 上下文中探测本机映像。仅在默认加载上下文中探测本机映像,例如,使用 Assembly.Load()。
日志: 正在使用应用程序配置文件: C:\SOFT\EAI\EAI.exe.config
日志: 使用 C:\WINDOWS\Microsoft.NET\Framework\V2.0.50727\config\machine.config 的计算机配置文件。
日志: 试图下载新的 URL file:///C:/SOFT/Framework/A.dll。
日志: 已尝试所有探测 URLs 但全部失败。
------解决方案--------------------不可以使用父路径
如 ../a/a.dll 不可以
a/a.dll 可以
http://url/a.dll 可以
置于为啥
可以到google 搜寻 "运行库如何定位程序集"
------解决方案--------------------帮你顶了。
------解决方案--------------------用<codeBase href= "~/AA/A.dll "/>试试
------解决方案--------------------貌似要用full name
------解决方案--------------------全路径 和相对路径都试试