Nat*_*222 3 c# asp.net visual-studio
我刚安装了VS 2015社区,在尝试访问IIS中托管的ASP.NET应用程序(使用ASP.NET v4.0应用程序池)时,我收到了该错误消息.
我刚下载了.NET Framework 4.6脱机安装程序,它识别出安装并给了我修复或删除它的选项.我选择修复安装,但它没有修复任何东西.
我还有其他选择吗?
小智 20
我通过运行以下命令行修复了该问题:eventcreate/ID 1/L APPLICATION/T INFORMATION/SO"ASP.NET 4.6.81.0"/ D"我的第一个日志"
Car*_*rlR 12
上面的答案是正确的,但建议的修复不是很理想.
UnhandledExcepton模块是第三方代码,其源代码在CodePlex中.它的目的是捕获未处理的异常并将其记录在某处.它可能很有用,因此删除它并不是这个问题的答案.
此外,创建"ASP.NET 4.6.81.0"的事件日志源并不是一个真正的修复.它可能会让您解决此处显示的问题,但在下次更新.NET框架时,它很可能会再次出现问题.
如果查看源代码,您可以看到该模块正在使用.NET框架附带的程序集版本(WebEngine.dll)来查找要使用的事件日志源的名称.该文件可以在运行时目录中找到,这取决于框架版本和"位数".例如
C:\Windows\Microsoft.NET\Framework\v4.0.30319\WebEngine.dll
Run Code Online (Sandbox Code Playgroud)
违规代码是:
string webenginePath = Path.Combine(RuntimeEnvironment.GetRuntimeDirectory(), "webengine.dll");
Run Code Online (Sandbox Code Playgroud)
和
FileVersionInfo ver = FileVersionInfo.GetVersionInfo(webenginePath);
sourceName = string.Format(CultureInfo.InvariantCulture, "ASP.NET {0}.{1}.{2}.0", ver.FileMajorPart, ver.FileMinorPart, ver.FileBuildPart);
Run Code Online (Sandbox Code Playgroud)
如果此日志源不存在,则抛出错误.
现在发生这种情况的原因是.NET 4.6是.NET 4.5的替代品,而不是并行安装.安装已将WebEngine.dll替换为新版本4.6.81.0..NET 4.5.2中的先前版本是4.0.30319(对应于CLR版本).
" AP.NET 4.6.81.0" 没有事件日志源,因此错误.
UnhandledException模块的原始作者应该使用返回CLR版本的代码,而不是依赖于文件的版本.
例如
Major Minor Build Revision
----- ----- ----- --------
4 0 30319 34209
Run Code Online (Sandbox Code Playgroud)
如果查找环境版本的字符串使用了它,那么它将继续使用框架4.6.当然,这并不能保证它将继续在更高版本中运行,但它比文件版本更安全.
因此,答案是更改UnhandledExceptionModule中的代码来执行此操作,重新编译它并相应地更新引用.
例如
_sourceName = string.Format(CultureInfo.InvariantCulture, "ASP.NET {0}.{1}.{2}.0",System.Environment.Version.Major, System.Environment.Version.Minor, System.Environment.Version.Build);
Run Code Online (Sandbox Code Playgroud)
更新2015-DEC-04:我修补了这个问题,并将新版本的违规类上传到原始的codeplex网站.原作者似乎不再在网站上活跃,因此我不希望补丁合并到源控件中,但是任何人都可以使用它.请参阅描述问题和链接补丁的问题
小智 6
上述错误的答案不是,删除"WebMonitor.UnhandledExceptionModule"httpmodule.此模块用于捕获任何未处理的异常并将其记录在O/S EventLog中.
正如它在错误消息中所说,它缺少服务器/机器中的EventLog源.
按照以下链接中的描述创建EventLog源,然后您可以消除错误,并使用O/S事件日志记录从您的应用程序抛出的任何未处理的异常.
祝好运!!
| 归档时间: |
|
| 查看次数: |
4865 次 |
| 最近记录: |