Erreur: allowDefinition = ‘MachineToApplication’ au-delà du niveau de l’application

J’ai téléchargé le projet en ligne dans ASP.Net. Pendant l’exécution de l’application, j’obtiens une erreur

C’est une erreur d’utiliser une section enregistrée comme allowDefinition = ‘MachineToApplication’ au-delà du niveau de l’application. Cette erreur peut être provoquée par un répertoire virtuel qui n’est pas configuré en tant qu’application dans IIS.

Quels changements dois-je effectuer dans web.config ou ailleurs pour que cela fonctionne?

Je viens de rencontrer ce “délice”. Il semble se présenter juste après avoir publié une application web en mode release.

La seule façon de contourner le problème est de suivre cette liste de contrôle:

  1. Solution propre pendant que votre solution est configurée en mode Libération.
  2. Nettoyez la solution pendant que votre solution est configurée en mode Débogage.
  3. Construisez pendant que votre solution est configurée en mode Debug.

Il suffit de tomber sur ce post et ça m’était arrivé.
Clean simplement le projet et l’erreur disparaît. (doit être un bug VS2010)

Je viens d’avoir ce problème lors de la construction d’une deuxième version de mon site Web. Cela ne s’est pas passé quand je l’ai construit la première fois.

Je viens de supprimer les dossiers bin et obj, de lancer une solution propre et de la reconstruire, cette fois sans aucun problème.

Aucun. Vous devez configurer le répertoire dans lequel vous avez placé le site Web en tant qu’application Web dans IIS .

Cette erreur se produit lorsque vous essayez d’ouvrir un projet en tant que site Web. La façon la plus simple de déterminer si vous avez créé un site Web ou un projet est de vérifier le dossier de votre solution (où vous avez enregistré votre code) et de voir si vous avez un fichier * .sln dans le répertoire racine. Nous avons créé un projet.

Juste pour append, j’ai rencontré cette erreur tout à l’heure lorsque j’ai tenté d’ouvrir un projet que j’ai créé il y a longtemps en sélectionnant “Fichier”, “Ouvrir un site Web” des menus Visual Studio alors que j’aurais dû sélectionner “Fichier” au lieu. Je fais facepalmed dès que j’ai réalisé 🙂

Dans Visual Studio 2013, j’ai eu du mal avec cela pendant un certain temps et il est assez facile de résoudre, il suffit de suivre les exceptions: “le répertoire virtuel n’est pas configuré en tant qu’application dans IIS”

Dans mon cas, WebService était implanté sur le IIS website

  1. J’ai ouvert le site dans le gestionnaire IIS
  2. clic droit sur le dossier WCF
  3. cliqué sur Convert to Application
  4. puis soumis avec Ok

WCF est de retour et fonctionne.

L’erreur suggère que le code que vous utilisez s’attend à ce qu’un répertoire virtuel soit configuré sur IIS.

Recherchez la documentation et ajoutez le répertoire virtuel requirejs. Ce devrait être un répertoire qui contient un web.config (pas le répertoire racine).

Si vous avez un projet MVC avec des vues activées, l’une des solutions consiste à supprimer le dossier obj avant la génération. Ajouter au fichier du projet:

       

Voici l’article: Comment supprimer les dossiers bin et / ou obj avant la génération ou le déploiement

Une modification récente de web.config peut se trouver dans le mauvais fichier web.config.

Une propriété a été ajoutée à Views / web.config . Quel que soit le nombre de Cleans et Rebuilds, l’erreur est restée. La solution consistait à déplacer la propriété dans la racine /web.config .

si jamais vous rencontrez cette erreur

C’est une erreur d’utiliser une section enregistrée comme allowDefinition = ‘MachineToApplication’ au-delà du niveau de l’application. Cette erreur peut être provoquée par un répertoire virtuel qui n’est pas configuré en tant qu’application dans IIS

SOLUTION
J’ai eu le même problème avec VS 2012. J’ai résolu ce problème en

  1. Déchargez votre projet actuel
  2. éditez votre .csproj
  3. Rechercher ceci false
  4. Au lieu de false, changez la valeur en true
  5. Chargez à nouveau votre projet et vous ne devriez plus avoir cette erreur

Si vous en avez, une solution consiste à supprimer le contenu du dossier obj du projet généré par le compilateur.

Dans mon cas, le problème est apparu seulement après avoir publié le projet dans le sous-répertoire. En raison de mon manque de connaissances, j’ai placé mon sous-répertoire web_publish dans le répertoire web_project .

Il est clair que web_publish contient également les mêmes Web.config que le projet contient. Cependant, web_project ne sait pas que mon web_publish doit être évité lors de la recherche sur Web.config s dans les sous-répertoires nesteds. De cette façon, les Web.config s ont été dupliqués et l’erreur est apparue.

La solution consistait à placer ma web_publish ailleurs.

Dans mon cas, il y avait un dossier “Backup” qui contenait une autre copie du site Web entier. Cela signifiait un autre web.config et donc la construction a échoué avec cette erreur. J’ai supprimé le dossier “Backup”, effectué une solution Clean sur les versions Debug et Release, et l’erreur a disparu.

Nettoyez votre projet Supprimez le dossier / obj (probablement en utilisant publish et deploy? – il y a un bogue)

Mon problème était que j’avais accidentellement publié mon webservice à un emplacement pré-complété sur une nouvelle installation de VS2010.

J’avais publié dans un dossier appelé PreComstackdWeb , et la présence du fichier web.config que je soupçonne de l’avoir foiré.

Je me suis contenté de nuancer le dossier et de rafraîchir le projet.

En double-cliquant sur cette erreur, cela m’a amené à ce fichier web.config erroné, ce qui m’a fait basculer.

C’est peut-être le problème de version comme vous téléchargez le projet de .Net Framework 2.0 et que vous souhaitez l’ouvrir dans le VS2008, vous devrez alors mettre à jour la version la plus récente et VS va créer le dossier de sauvegarde du même répertoire. obtenir la réponse ici .

J’ai eu cette erreur lors de la création de la solution avec le projet de déploiement Web créé dans ma solution. Je résout l’erreur en supprimant le dossier dans lequel le projet de déploiement Web est créé. Ce dossier est spécifié dans l’atsortingbut “Dossier de projet” des propriétés WDP

Dans mon cas,

La solution contient 6 projets, 1 répertoire principal et 5 sous-répertoires. tous les sous-répertoires ayant web.config.

Lors de l’exécution d’une page dans des sous-répertoires, je recevais la même erreur.

J’ai supprimé cette ligne de web.config,

  

cela a fonctionné pour moi.

Supprimez les dossiers bin et obj. Recréez ensuite la solution.

Apparemment, il y avait deux fichiers web.config dans ma solution. J’utilise MVC4 et il y avait un autre fichier de configuration sous Vues et je faisais la modification dans le mauvais fichier. Corrigé là m’a aidé.

Mais vous pouvez toujours changer la redirection / route par défaut dans le fichier global.asax.

Vous avez probablement un dossier de projet sous asp.net dans le dossier du projet qui n’est pas configuré en tant que répertoire virtuel. Configurez le projet à exécuter dans IIS.

J’ai ajouté à mon script de publication de site Web. À la fin, supprimez le dossier obj de votre dossier de site Web.

J’ai ce problème plus fréquent si “true” est activé dans le fichier de projet.

  1. Faux

Comme dit Jonny:

  1. Solution propre pendant que votre solution est configurée en mode Libération.
  2. Nettoyez la solution pendant que votre solution est configurée en mode Débogage.
  3. Construisez pendant que votre solution est configurée en mode Debug.

J’avais un projet que je ne voulais pas être une application web, je voulais que ce soit un dossier. La réponse était de supprimer complètement le fichier web.config. Il n’appartient qu’à la racine d’une application.

Si vous rencontrez ce problème lors de la publication de votre site Web ou de votre application sur un serveur, la solution simple que je vous ai proposée consiste à convertir un dossier contenant des fichiers en application Web.

J’ai le même problème dans VS 2013 après la publication de mon projet en mode débogage. Le problème a été résolu en supprimant les fichiers obj /

J’ai un projet de site Web.

Dans mon cas, j’ai déplacé le fichier de solution vers un autre chemin et cela pose le problème. Je l’ai restauré à l’emplacement précédent et le problème est sorti.

Pour ceux qui cherchent encore, ma solution était de supprimer les deux dossiers bin et obj et de redémarrer Visual Studio semble le réparer.

Via Visual Studio, j’avais publié un service WCF via FTP sur un serveur externe. Cela a bien fonctionné localement et lors de la publication sur un serveur interne, mais pas sur un serveur externe. La solution consistait à publier sans fournir de Site Path (en d’autres termes, publier directement à la racine du répertoire virtuel).

Je ne sais pas pourquoi cela a fonctionné, puisque j’avais déjà essayé de déplacer les fichiers vers la racine via un client FTP externe – parmi de nombreuses autres tentatives, y compris toutes celles énumérées ici. Peut-être que c’était quelque chose avec le profil de publication, comme pour FabianVal . Mais je ne suis plus d’humeur à tester à ce stade, puisque je suis pressé de me mettre au diapason après toutes les journées consacrées à ce problème.

Astuce 1: nettoyer et ensuite reconstruire.

Conseil 2: fermez VS et ouvrez-le à nouveau.

Astuce 3: le projet téléchargé peut être dans un autre sous-dossier … ouvrez le dossier contenant vos fichiers .net.

c: / demo1 / demo / (tous les fichiers)

Vous devriez avoir à ouvrir la démo de vs … pas de démo1.

J’ai essayé toutes les solutions ci-dessus, mais aucune n’a fonctionné pour mon problème. (Je suis sûr qu’il y a 1000 solutions à ce problème) Pour mon scénario, j’essayais de publier mon service Web WCF en cours de test.

Cependant, je n’ai pas réalisé que dans la production, nous sums uniquement HTTPS, ce qui signifie que nous redirigeons tout vers HTTPS. En fait, je pointais vers le service via HTTP au lieu de HTTPS, provoquant ainsi l’erreur. La solution dans ce scénario consistait simplement à modifier le protocole d’adresse en HTTPS plutôt qu’en HTTP.

J’espère que cela aidera une pauvre âme à essayer de résoudre ce problème.