有些时候DNN中程序出错的提示没有指出具体的出错位置,如果使用断点跟踪也不知在何处插入断点,这样我们debug完全只能靠猜测,比如如下的出错提示:
</p>
<p><code>Error<br />
Error: Edit Content is currently unavailable.<br />
DotNetNuke.Services.Exceptions.ModuleLoadException: <br />
External component has thrown an exception. ---> System.Web.HttpCompileException: External component has thrown an exception. <br />
at System.Web.Compilation.AssemblyBuilder.Compile() <br />
at System.Web.Compilation.BuildProvidersCompiler.PerformBuild() <br />
at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) <br />
at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) <br />
at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) <br />
at System.Web.UI.TemplateControl.LoadControl(VirtualPath virtualPath) <br />
at System.Web.UI.TemplateControl.LoadControl(String virtualPath) <br />
at DotNetNuke.UI.Skins.Skin.InjectModule(Control objPane, ModuleInfo objModule, PortalSettings PortalSettings) in <br />
E:DevelopmentDotNetNukeInstallAreaDotNetNuke_04.08.03_SourceLibraryComponentsSkinsSkin.vb:line 492 --- End of inner exception stack trace ---</code></p>
<p>
使用这个文件就可清楚的看到是哪里出了问题:
下载 DNNDebug.rar 文件并解压得到 "DNNDebug.aspx" 文件
把这个文件放在DotNetNuke网站的根目录里
然后在浏览器里访问这个文件 (如: http://localhost/Dotnetnuke/DNNDebug.aspx)
输入加载时出错的web contol地址(比如: ~/DesktopModules/Feedback/Feedback.ascx)
如果帮你解决的大问题,你可以给作者Nik 发个邮件表示感谢
注意!
网站发布时一定要删除这个文件