Elmah NuGet包未更新web.config文件。

4

背景/目标

我有一个asp.net 4.5 web forms项目,现在正在将其转换为asp.net one架构(所以我们正在几个部分中集成MVC)。

我试图将Elmah添加到该设置中。我的目标是:

  • 在本地仅记录50个错误的内存日志,
  • 将所有错误记录到SQL数据库(我们已使用Elmah脚本进行设置),
  • 捕获WebForms和MVC错误输出到Elmah中。

问题

然而,当我通过nuget添加Elmah包时,它似乎没有对web.config进行任何修改。因此,当我浏览/elmah.axd时,我看到:

未找到路径 '/elmah.axd'。System.Web.HttpException (0x80004005): 未找到路径 '/elmah.axd'。 在 System.Web.HttpNotFoundHandler.ProcessRequest(HttpContext context) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

这很有道理,因为web.config还没有被修改以添加处理程序。

但是,添加elmah.axd确实为我们提供了一个MVC路由。但是,我的直觉和一些初步测试告诉我,这些仅涵盖MVC范围内的错误。

问题

  • 如何在此实例中正确配置elmah,以便elmah和elmah.mvc包都按设计工作?

你要添加哪个 ELMAH NuGet 包? - ThomasArdal
我已经执行了 Install-Package Elmah,最终我又执行了 Install-Package Elmah.MVC,但这是在已经配置 XML 后进行的。 - SeanKilleen
Elmah包本身应该添加配置。Elmah.Mvc还会执行其他操作,例如声明/elmah URL(而不是elmah.axd)。 - ThomasArdal
@ThomasArdal 没错,我也有这种印象。所以我想知道为什么我的 web.config 没有被修改。(在安装 elmah 包之后,web.config 中没有提到“elmah”一词,而且差异看起来基本相同(尽管它似乎会删除标签关闭前的空格等)。) - SeanKilleen
2个回答

1

0

我也遇到了这个问题,我做了三件事情。

  1. 进入项目的“管理NuGet包”,删除所有关于Elmah的内容。
  2. 重新启动Visual Studio,并以管理员权限打开它。(不确定是否是这个原因)。确保你的web.config没有被打开,因为某种原因VS没有更新它。
  3. 在包管理器控制台上再次运行install-package elmah

之后我的web config得到了更新,一切都运行得很顺利。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接