GAC也是Global Assembly Cache,用于储存assembly(以dll为主)。主要路径:%windir%\assembly\
在运行batch job的时候,系统会优先选择gac里面已经安装的dll。
例如:
在运行SENDING的时候,遇到了以下错误
System.MissingMethodException: Method not found: 'Void UIFGenerator.UifGeneratorMain.set_Repository(com.oocl.iocm.common.dispatcher.IGenericRepository)'.
然而Batch文件夹里面的UIFGenerator.dll已经是最新版本。在查找c:\windows\assembly后,发现有一个很旧版本的UIFGenerator。系统会优先运行这个dll,导致有些新的method找不到。
只要将GAC里面的dll删除,系统就会运行Batch文件夹里面的dll。
网友评论