• DotNetNuke3.0.8文件管理器的错误及解决方法


    错误描述:
        以host登录DNN3.0.8网站,点击“常规任务”上的“文件”图标,会出现如下错误:

    错误: 文件管理器 当前无效.

    DotNetNuke.Services.Exceptions.ModuleLoadException: 未找到路径“F:\My Projects\Asp.NET Source\DotNetNuke\DotNetNuke_3.0.8\DNN3\Portals\0\”的一部分。 ---> System.IO.DirectoryNotFoundException: 未找到路径“F:\My Projects\Asp.NET Source\DotNetNuke\DotNetNuke_3.0.8\DNN3\Portals\0\”的一部分。 at System.IO.__Error.WinIOError(Int32 errorCode, String str) at System.IO.Directory.InternalGetFileDirectoryNames(String fullPath, String userPath, Boolean file) at System.IO.Directory.InternalGetDirectories(String path, String userPath, String searchPattern) at System.IO.Directory.GetDirectories(String path, String searchPattern) at DotNetNuke.Modules.Admin.FileSystem.FileManager.PopulateTree(TreeNodeCollection objNodes, String strPath) at DotNetNuke.Modules.Admin.FileSystem.FileManager.BindFolderTree() at DotNetNuke.Modules.Admin.FileSystem.FileManager.Page_Load(Object sender, EventArgs e) --- 内部异常堆栈跟踪的结尾 ---

    解决过程:
        1.先查看了一下路径“F:\My Projects\Asp.NET Source\DotNetNuke\DotNetNuke_3.0.8\DNN3\Portals\0\”不存在,
    实际上的路径是“F:\My Projects\Asp.NET Source\DotNetNuke\DotNetNuke_3.0.8\Portals\0\”,多出了这么一个“DNN3”来,这个DNN3就是我的网站的虚拟路径名,看来此处有蹊跷。
        2.接着查看DotNetNuke.Modules.Admin.FileSystem.FileManager.BindFolderTree() 函数,发现有这么关键的一句:
        _CurRootFolder = PortalSettings.HomeDirectoryMapPath
        跟踪到PortalSettings类Component\PortalSettings.vb)文件里的第122行,有下面一句:
        Return objFolderController.GetMappedDirectory(ApplicationPath & "/" & HomeDirectory)
        3.原来问题就在此处,ApplicationPath是“当前应用程序的虚拟路径”,原来FileManager.BindFolderTree() 函数里面要的路径是物理路径,而这句代码得到的却是一个虚拟路径+物理路径,看来是一个Bug啊!将代码进行如下修改:
       Return objFolderController.GetMappedDirectory(HomeDirectory)
    重新编译后,再运行网站,问题解决!

    一点心得:
        调试ASP.NET程序时应当善于利用错误信息,逐步分析,当然前题是要有程序本身要有良好的错误捕捉机制。
     

  • 相关阅读:
    CharSequence的getText()与String的getString()(转)
    android 1.6 launcher研究之自定义ViewGroup (转 2011.06.03(二)——— android 1.6 launcher研究之自定义ViewGroup )
    2.1Android界面View及ViewGroup(转)
    Android笔记:百度地图与高德地图坐标转换问题
    NDK常用命令
    深入Java单例模式(转)
    CentOS 6.2 安装vsftpd 服务器(转)
    centos 安装FTP server详情(转)
    CentOS 6.3下NTP服务安装和配置
    搭建vscode+vue环境
  • 原文地址:https://www.cnblogs.com/soaring/p/85789.html
Copyright © 2020-2023  润新知