Elmah nuget package 不更新 web.config



背景/目标

我有一个ASP.NET 4.5 Web表单项目,该项目现在位于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上下文)上。长期)

这是有道理的,因为web.config尚未修改以添加处理程序。

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

问题(S)

  • 在这种情况下,我如何正确配置Elmah,以便Elmah和Elmah.mvc套件都值得?

它可能与原始web.config文件的现有部分/元素有关,因此Elmah软件包中的Web.config.transform无法执行某些添加操作。

此文档-http://docs.nuget.org/docs/creating-packages/configuration-file-file-file-and-source-code-code-transformations明确描述了Elmah软件包转换将在web.config之前和之后做什么。

这也发生在我身上,我做了3件事。

  1. 转到您项目的"管理Nuget软件包",删除有关Elmah的所有内容。
  2. 重新启动Visual Studio,并使用Admin Priviliges打开它。(不确定是否是这个)。确保您的web.config未打开,由于某些原因vs没有更新。
  3. 运行在软件包管理器上再次安装包装Elmah 再次。

之后,我的Web配置已更新,所有内容都顺利运行。

最新更新