今天下午在MOEUI里面引用了WebServices里面的一个DLL(hwjCommonLibrary)。然后运行就报错了:
未能加载文件或程序集“log4net, Version=1.2.9.0, Culture=neutral, PublicKeyToken=b32731d11ce58905”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。
MOEUI里面有两个项目:MOE和MOELibrary MOE依赖着MOELibrary已知原本的MOEUI里面引用了一个CommonLibrary(注:不是hwjCommonLibrary),所以先入为主的思想来了。
一直认为是它们俩引起的错误。错误提示又有着这样的提示:
行 12: SetAppSettings();
行 13: string url = HttpContext.Current == null ? string.Concat(AppDomain.CurrentDomain.BaseDirectory, Config.Original.LogConfig) : HttpContext.Current.Server.MapPath(Config.Original.LogConfig);
行 14: LogHelper.SetConfig(url);
行 15:
行 16: new OriginalSettings().InitSetting();
其实自己也认为或者说知道了,可能是它们俩里面方法名字相同的问题吧。
但是看到了命名空间的使用,随后又改成了CommonLibrary.Utility.LogHelper.SetConfig(url);但是还是会报错。
其实自己SB了,报错早早就提示是log4net版本的问题了。
其实自己也是隐约的留意着的。但是就想:我只是添加了引用,没有改原本的引用呀,为什么原本引用的log4net版本会改变了呢?
原来是MOEUI里面是MOE网站依赖着MOELibrary的,所以MOELibrary里面的引用更改了,MOE网站就会跟着改变。