Question

J'ai hérité d'un site Web .NET Framework 1.1 que je dois héberger avec IIS 7 sur Windows Server 2008. Je vais avoir quelques problèmes.

1. Installation

J'ai installé .NET Framework 1.1 suivant ces instructions .

L'installation crée automatiquement une nouvelle pool d'applications "ASP.NET 1.1". J'utiliser.

2. Difficulté

Quand je lance le site web que je vois des erreurs d'exécution web.config:

  

La balise contient une valeur non valide pour l'attribut « culture ».

Je fixe que l'on puis voir:

  

noeuds enfants ne sont pas autorisés.

Je ne veux pas continuer à jouer ce jeu whack-a-mole. Quelque chose doit être faux.

3. Suis-je sûr que ce soit .NET 1.1?

J'examine le pool d'applications créé automatiquement. Je vois que c'est 1.1.

Paramètres avancés ...

.NET automatique AppPool 1.1 Avancé

Réglages de base ...

Automatique AppPool .NET 1.1 Basic

Cela ne semble pas juste.

Alors que 1.1 est ensemble, ce n'est pas une option dans la liste avancée vers le bas sélecteurs.

Et pourquoi dans la boîte de base est juste « version 1.1 » et non » .NET Framework v1.1.4322" ? Ce serait plus cohérent.

4. Je ne peux pas créer d'autres .NET 1.1 Pools App

Je ne peux pas sélectionner .NET Framework 1.1 pour d'autres pools d'applications. Ce n'est pas une option dans le menu déroulant sélecteurs. Quoi de neuf avec ça?

pool d'applications manquant l'option .NET 1.1

Et maintenant?

  • Pourquoi ne pas V1.1 une option pour tous AppPools?
  • Comment puis-je vérifier ma demande est en fait en utilisant .NET Framework 1.1?
  • Pourquoi pourrais-je obtenir ces erreurs d'exécution?
Était-ce utile?

La solution

Une façon-le-feu rapide pour savoir si l'application est en cours d'exécution sous 1.1 est de frapper un script Quicky qui affiche la version de l'environnement:

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

Ou si vous obtenez des écrans jaunes de la mort, alors vous verrez le numéro de version en bas de la page: text alt

Je soupçonne que la raison pour laquelle vous ne pouvez pas sélectionner Cadre V1.1 lors de l'ajout d'un nouveau pool d'applications ou de modifier un existant est que le 1.1 installateur ne sait pas comment ajouter une pièce critique métadonnées ou des informations de configuration à IIS.

.NET 2.0 est livré avec 2008 et .NET 4.0 étant un produit plus tard est IIS7 amical et donc il est très probablement une meilleure intégration IIS. Ou, version 1.1 n'a pas une pépite essentielle de métadonnées InetMgr de IIS7 doit être en mesure d'ajouter à ses différentes listes.

La raison pour laquelle vous pouvez voir dans la version 1.1 de déclasser goutte du pool ASP.NET 1.1 Paramètres de base dialogue et non pas les autres piscines est parce qu'il a déjà été réglée et il en sera tout simplement être inclus dans la liste. J'ai expérimenté et changé cela sur la piscine ASP.NET 1.1 nouvellement créé et mis à 2.0, enregistré, puis rouvert. Le résultat est que V1.1 ne soit plus visible.

De plus la raison pour laquelle il est appelé V1.1 et pas .NET Framework v1.1.4322 est parce que la valeur est repris de l'attribut managedRuntimeVersion dans la piscine app config dans applicationHost.config. La raison pour laquelle les versions 2.0 et 4.0 montrent une description complète est qu'il ya probablement un morceau de métadonnées IIS convivial avec une chaîne de ressource étant regardé ce n'est pas présente pour 1.1.

Pour définir une piscine à l'utilisation V1.1 au moment de la création, vous devez définir manuellement l'attribut managedRuntimeVersion en utilisant APPCMD.EXE:

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

Ceci est expliqué au bas de l'article que vous lié.

Pour modifier une piscine existante à utiliser 1.1, vous devez également utiliser l'outil de ligne de commande APPCMD.EXE:

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

Il est intéressant que vous pouvez définir managedRuntimeVersion à une ancienne valeur:

text alt

Je voudrais pouvoir expliquer pourquoi le pool d'applications ASP.NET 1.1 obtient magie créé ou comment le programme d'installation parvient à faire la bonne chose avec les applications de gestionnaire (en quelque sorte tous les preConditions corrects sont définis, donc soit le programme d'installation a été mis à jour ou IIS a une sorte de déclencheur pour chercher 1.1 en cours d'installation et de réparer les choses).

Mise à jour:

J'ai contacté Bill Staples, l'auteur de cet article:

  

Comment installer ASP.NET 1.1 avec IIS7 sur Vista et Windows 2008

Je lui ai demandé comment le 1.1 installateur ou IIS7 parviennent à faire la bonne chose en ce qui concerne les correspondances de gestionnaire, la création du pool d'applications « ASP.NET 1.1 » et ainsi de suite. Ce fut sa réponse:

"Si ma mémoire est bonne, dans Vista / Windows 2008 il y avait une cale de compatibilité des applications créées qui détecte le 1.1 installateur et faire l'application Piscine création / mappage de gestionnaire. Cependant, dans Windows 7 / Windows Server 2008 R2, .NET Framework 1.1 n'est plus pris en charge et je ne serais pas surpris si ce code a été tiré, mais je ne suis pas sûr. "

mystère résolu.

Autres conseils

J'ai rencontré les mêmes problèmes tout en essayant d'installer un vieux .Net 1.1. sur win2k8 / IIS7. En fin de compte, j'ai trouvé qu'il était plus facile et plus rapide que vous tombiez tout à .Net 2.0. Je vous recommande de faire la même chose.

À moins que votre code fait quoi que ce soit exotique le processus de transfert peut être effectué en jour ou moins pour des projets relativement grands.

Windows 2008 n'a pas installé .NET 1.1. Vous pouvez installer manuellement .NET 1.1 .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top