完整的错误是 - “值不能为空。参数名称:virtualPath”。这发生在我们的质量保证和培训环境(Win 2003 Server & IIS6)中,但当然不会在调试器中重新创建。更糟糕的是,尽管有一个合理的全局错误处理程序,但没有任何堆栈跟踪伴随错误发生,并且没有任何内容写入事件日志。该应用程序是在2.0框架下运行的大型完全全球化的Asp.Net(VB)Web应用程序。它对resx文件使用通常的“App_LocalResources”结构,迄今为止表现相当好。有在应用几个地方,这样的代码被用于:随机“virtualPath”错误 - Asp.Net应用程序
Dim x As New Compilation.ExpressionBuilderContext(Control.TemplateControl)
Dim path As String = x.VirtualPath
Dim res As String = HttpContext.GetLocalResourceObject(path, resourceKey).ToString
但是解决这个代码try/catch块正常工作时,我强迫“路径”变量是什么。我们还到处使用这个语法数据网格的列标题:
<asp:TemplateColumn HeaderText="<%$ Resources:resHeader %>" >
我们还使用了大量的Ajax和动态的ascx控件加载到占位符不断。如果有人对此有所了解,我将非常感谢帮助。
谢谢,拉里