Elmah nuget包不会更新web.config

问题描述 投票:2回答:2

背景/目标

我有一个asp.net 4.5 Web表单项目,该项目现在位于asp.net一种体系结构下(因此,我们将MVC集成为几个部分)。

我正在尝试将Elmah添加到此设置。我的目标是:

  • 仅在本地访问下记录内存中的50个错误,
  • 将所有错误记录到SQL数据库(已使用Elmah脚本设置)。
  • 将WebForms和MVC错误都捕获到Elmah中。

问题

但是,当我通过nuget添加Elmah软件包时,它似乎未对web.config进行任何修改。因此,当我浏览到/elmah.axd时,我看到:

找不到路径'/elmah.axd'。 System.Web.HttpException(0x80004005):找不到路径“ /elmah.axd”。在System.Web.HttpApplication.ExecuteStep的System.Web.HttpNotFoundHandler.ProcessRequest(HttpContext上下文)处,在System.Web.HttpApplication.ExecuteStep(IExecutionStep步,在Boolean且已完成同步)

这很有意义,因为尚未修改web.config来添加处理程序。

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

问题

  • 在这种情况下,我如何正确配置elmah,以便使elmah和elmah.mvc软件包都值得设计?
asp.net asp.net-mvc configuration webforms elmah
2个回答
1
投票

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

[本文-http://docs.nuget.org/docs/creating-packages/configuration-file-and-source-code-transformations明确描述了Elmah软件包转换对web.config之前和之后的作用。


0
投票

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

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

然后更新我的Web配置,一切运行顺利。

© www.soinside.com 2019 - 2024. All rights reserved.