Páginas de erro personalizadas com layout

Eu tenho lutado para que as páginas de erro personalizadas funcionem e continuo encontrando meu caminho de volta ao simples uso de uma página estática. Embora a página estática funcione, seria necessário refazer a barra de navegação que gostaríamos de evitar no momento. Atualmente, estou usando o seguinte para especificar páginas de erro personalizadas.

Tratamento de erros do asp.net

<customErrors mode="On" redirectMode="ResponseRewrite">
  <error statusCode="404" redirect="~/404.aspx"/>
</customErrors>

Tratamento de erros do IIS

<httpErrors errorMode="Custom">
  <remove statusCode="404"/>
  <error statusCode="404" path="/404.html" responseMode="File"/>
</httpErrors>

Existe um método para implementar páginas de erro personalizadas dinâmicas que podem lidar com os erros do IIS e do asp.net?

questionAnswers(2)

yourAnswerToTheQuestion