Pregunta

He heredado un sitio Web de .NET Framework 1.1 que debo acoger con IIS 7 en Windows Server 2008. Estoy teniendo algunos problemas.

1. Instalación

He instalado .NET Framework 1.1 siguiente estas instrucciones .

La instalación crea automáticamente un nuevo grupo de aplicaciones "ASP.NET 1.1". Yo uso eso.

2. Problemas

Cuando inicio del sitio web veo los errores de ejecución web.config:

La etiqueta contiene un valor no válido para el atributo 'cultura'.

Fijo que uno y luego ver:

Los nodos hijos no están permitidas.

No quiero seguir jugando este juego de golpe-a-mole. Algo debe estar mal.

3. ¿Estoy seguro de que esto es .NET 1.1?

examino el grupo de aplicaciones crea automáticamente. Veo que es 1.1.

Configuración avanzada ...

Automatic AppPool .NET 1.1 Avanzado

Configuración básica ...

Automatic AppPool .NET 1.1 Básico

Esto no parece correcto.

Mientras que 1.1 es fijo, no es una opción en la caída de avanzada hacia abajo selectores.

Y por qué en el cuadro básico es simplemente "v1.1" y no" de .NET Framework v1.1.4322" ? Eso sería más consistente.

4. No puedo crear otras .NET 1.1 App Piscinas

No puedo seleccionar .NET Framework 1.1 para otros grupos de aplicaciones. No es una opción en el menú desplegable selectores. ¿Qué pasa con eso?

grupo de aplicaciones .NET 1.1 faltante opción

¿Ahora qué?

  • ¿Por qué no es una opción v1.1 para todas las AppPools?
  • ¿Cómo puedo verificar mi solicitud es, de hecho, el uso de .NET Framework 1.1?
  • ¿Por qué podría obtener estos errores de tiempo de ejecución?
¿Fue útil?

Solución

Una forma rápida el fuego para saber si la aplicación se ejecuta en el punto 1.1 es golpear un script QUICKY que muestra la versión medio ambiente:

<%@ Page Language="C#" %>
<script runat="server">
    void Page_Load(Object sender, EventArgs e)
    {
        Response.Write(System.Environment.Version.ToString());       
    }
</script>

O si usted está recibiendo pantallas amarilla de la muerte entonces usted verá el número de versión en la parte inferior de la página: text alt

Sospecho que la razón no puede seleccionar marco v1.1 cuando se añade un nuevo grupo de aplicaciones o modificar una existente es que el instalador 1.1 no sabe cómo añadir alguna pieza crítica de metadatos o información de configuración de IIS.

.NET 2.0 se incluye con 2008 y .NET 4.0 al ser un producto más adelante es IIS7 ambiente, así por lo que es más probable una mejor integración de IIS. O v1.1 no tiene alguna pepita esencial de metadatos que INETMGR de IIS7 tiene que ser capaz de añadir esto a sus diferentes listas.

La razón se puede ver v1.1 en el downlist gota para el ASP.NET 1.1 piscina Configuración básica diálogo y no las otras piscinas es porque ya ha sido establecido y así se acaba de ser incluida en la lista. Hice la prueba y ha cambiado esto en la piscina ASP.NET 1.1 de nueva creación y la ponga a 2,0, salvado, a continuación, volvió a abrir. El resultado es que la versión 1.1 no es visible más.

Además, la razón por la que se llama v1.1 y no .NET Framework v1.1.4322 se debe a que el valor se recogió en el atributo managedRuntimeVersion en la configuración del grupo de aplicación en applicationHost.config. La razón de que las versiones 2.0 y 4.0 muestran una completa descripción es que es probable que haya alguna pieza de metadatos de usar IIS con una cadena de recursos se alzó la que no está presente de 1,1.

Para establecer una piscina para uso v1.1 en tiempo de creación tiene que configurar manualmente el atributo managedRuntimeVersion usando APPCMD.EXE:

appcmd add apppool /name:"NewPool"  /managedRuntimeVersion:"v1.1"

Esto se explica en la parte inferior del artículo que dichos enlaces.

Para cambiar una piscina existente para utilizar 1.1 también debe utilizar la herramienta de línea de comandos APPCMD.EXE:

appcmd set apppool /apppool.name:"SomeOtherPool" /managedRuntimeVersion:"v1.1"

Es interesante que se puede establecer en cualquier valor managedRuntimeVersion antigua:

text alt

Me gustaría poder explicar por qué el grupo de aplicaciones ASP.NET 1.1 mágicamente se crea o cómo el instalador se las arregla para hacer lo correcto con las asignaciones de controlador (de alguna manera todo se fijó el preConditions correcta, así que o bien el instalador ha sido actualizado o IIS tiene algún tipo de disparador para buscar a 1.1 se instala y arreglar las cosas).

Actualización:

entré en contacto con Bill Staples, el autor de este artículo:

¿Cómo instalar ASP.NET 1.1 con IIS 7 en Windows Vista y Windows 2008

Le pregunté acerca de cómo el instalador o 1.1 IIS7 las arreglan para hacer lo correcto con respecto a asignaciones de controlador, la creación de la "ASP.NET 1.1" grupo de aplicaciones y así sucesivamente. Esta fue su respuesta:

"Si falla la memoria, en Vista / Windows 2008 se produjo una cuña compatibilidad de aplicaciones creada, que detectaría el instalador 1.1 y hacer el mapeo aplicación creación Pool / manejador. Sin embargo, en Windows 7 / Windows Server 2008 R2, .NET Framework 1.1 ya no es compatible y no se sorprendería si este código se retiró, aunque no sé a ciencia cierta ".

Así misterio resuelto.

Otros consejos

Me encontré con los mismos problemas al mismo tiempo tratando de instalar un viejo .Net 1.1. en Win2k8 / IIS7. Al final me encontré que era más fácil y más rápido simplemente para volcar todo para .Net 2.0. Te recomiendo que hagas lo mismo.

A menos que su código está haciendo nada exótico el proceso de transferencia se puede llevar a cabo en días o menos para razonablemente grandes proyectos.

Windows 2008 no tiene instalado .NET 1.1. Usted puede instalar manualmente .NET 1.1 .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top