En principio no tiene, aparentemente, mucha relación un error 500 con el uso de frames en IIS. No tengo experiencia en IIS para ser rotudo, pero no tiene mucho sentido.
Un error 500 es un error de servidor. Generalmente se produce por un error en un lenguaje de programación que el servidor necesite procesar. O una excepción no tratada, por ejemplo cuando intentamos hacer una consulta sobre la base de datos incorrecta.
Es decir, se trata de un error en un lenguaje de programación del lado del servidor.
Sin embargo, la etiqueta <frame>
es texto plano, no tiene nada que procesarse, por lo que en principio no podría ser el causante de un error 500.
Lo único que se me puede ocurrir es que el servidor IIS tenga algún tipo de validación del documento HTML, algo que me parecería bastante raro, la verdad. En ese caso, la etiqueta <frame>
corresponde con una especificación antigua de HTML, por lo que podría dar un problema. Pero insisto que me parece raro, porque es perfectamente posible que una página envíe HTML 4 en vez de HTML 5 y debería funcionar igualmente.
Puedes probar a quitar esa etiqueta para verificar si realmente es el error como afirmas.
En todo caso, usar frames actualmente no es una recomendación por lo que sería interesante actualizar ese proyecto.