1、现象:Visual Studio 2008 创建的一个aspx页上添加了2个简单的按钮进行ajax调用,本地测试一切ok,发布至服务器后访问就报如下错误:
“ 异常消息: 未能加载文件或程序集“Ajax”或它的某一个依赖项。系统找不到指定的文件。”
且提示web.config配置节“<add verb= "POST,GET " path= "ajax/*.ashx " type= "Ajax.PageHandlerFactory,Ajax " />”不正确。
2、猜想:仔细检查未发现问题,唯一的区别是:本地机器上是在根目录下测试,在服务器上则是发布到一个虚拟目录下面,于是在服务器也发布至根目录,Then错误消失了。。。
3、结论与解决:显然是命名空间路径不一致造成的,难道是编译器出了问题?
右键点击这个web project--〉选择最下面的属性--〉再点击选择左侧web--〉右侧虚拟路径,填写你未来将在web server服务器上发布的虚拟目录名称,这里假设为eLearningRI,然后编译.msi,到web server上执行发布。Run起来吧,果然不出所料,小功告成了:)
网上搜了一下,感觉遇到此情形的朋友较多,因为描述不完整,答案也是五花八门,希望贴出来节省大伙的时间。
附图: