O uso das configurações padrão do IIS permite distinguir apenas entre o servidor local e qualquer máquina remota. Não há como permitir que determinadas máquinas remotas obtenham erros detalhados, enquanto outras não o fazem.
Existe um truque de como você pode fazer isso de qualquer maneira.
A sua ideia de ter um segundo site para desenvolvimento já está à vista, o ideal é que você deseje um único site com todos os seus arquivos de aplicativo, mas deseja dois web.configs diferentes para definir suas configurações de erro.
Não é possível ter um único site, mas duas configurações, mas o sistema de configuração do IIS é hierárquico e você pode armazenar a maioria das configurações em mais de um local.
Crie dois sites apontando para o mesmo local físico.
Em vez de colocar suas configurações no web.config local, você coloca <system.web><customErrors>
no global web.config %systemroot%\Microsoft.NET\Framework64\v4.0.30319\Config\web.config
e <system.webServer><httpErrors>
em %systemroot%\System32\inetsrv\config\applicationHost.config
. Em ambos os casos, você coloca essas configurações em uma tag de localização, como :
<location path="ProdSite">
<system.web>
<customErrors mode="On" />
</system.web>
</location>
<location path="DevSite">
<system.web>
<customErrors mode="Off" />
</system.web>
</location>
Você ainda pode usar o Gerenciador do IIS para fazer isso, na seção Management
do site, abrir o Configuration Editor
e detalhar as configurações que deseja alterar. Na parte superior, altere a From
drop- até Root Web.Config
ou ApplicationHost.config
Ainda não é super fácil, mas você se safa com um único site.