web-dev-qa-db-fra.com

Préfixe de balise non reconnu ou filtre de périphérique 'asp' dans VS2012

J'ai récemment installé VS2012 et travaillé sur des projets sur lesquels j'avais l'habitude de travailler avec VS2010. VS2010 n'a jamais eu de problème à ne pas reconnaître les balises à préfixe asp, mais VS2012 l'est J'ai essayé de supprimer le dossier ReflectedSchemas sous 

C:\Utilisateurs [nom_utilisateur]\AppData\Roaming\Microsoft\VisualStudio\11.0 \

mais ne fonctionne toujours pas. Quelqu'un at-il rencontré ce problème dans VS2012?

19
Channafow

Désolé de ne pas répondre à cette question auparavant. Bien que je suppose que le service pack ou la mise à jour VS2012 ait résolu ce problème,.

1
Channafow

Avez-vous quelque chose comme ça dans votre Web.Config:

<pages>
  <controls>
    <add tagPrefix="asp" namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add tagPrefix="asp" namespace="System.Web.UI.WebControls" Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  </controls>
</pages>

Dans ce cas, supprimez les entrées pour le tagPrefix asp (supprimez toute la section s'il ne reste plus de tagPrefix). Cela a fonctionné pour moi.

23
Ruud van Falier

Si vous rencontrez ce problème "Préfixe de balise non reconnu 'asp' dans VS2012" dans une page de contenu, 

Vérifiez si la balise **<body>** or <form> est manquante dans la page maître sous laquelle vous ajoutez la page de contenu!

S'il manque cette balise par hasard, cette balise <asp> n'est pas reconnue.

12
user3902444

Fermer et rouvrir le fichier (fichier .aspx pas solution) à partir de la solution Explorer a fonctionné pour moi dans visual studio 2015. Avant toute chose, essayez-le.

 enter image description here

10
Muhammad Saqib

Pour une configuration de projet utilisant .Net 4.0, les lignes suivantes fonctionnent.

    <pages>
        <controls>
            <add tagPrefix="asp" namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add tagPrefix="asp" namespace="System.Web.UI.WebControls" Assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting" Assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        </controls>
    </pages>
8
<%@ Page Title="" Language="VB" MasterPageFile="something" AutoEventWireup="false" CodeFile="something" Inherits="something" %>
<br/><br/>

S'il vous plaît donner un «entrer» après la première ligne. ça a fonctionné pour moi

3
Praveen M S

Fermer simplement la solution et la rouvrir a fonctionné pour moi (ou fermer Visual Studio et le rouvrir).

3
Phillip Quinlan

La réponse de RuudvanFalier m'a fait penser à tagPrefixes et j'ai donc supprimé le texte suivant dans ma page aspx, puis je l'ai rajouté et l'avertissement est parti pour moi.

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
3
johntrepreneur

Causé pour insouciance 

Mon problème est résolu

J'ai enlevé la structure ci-dessous,

qui pourrait être utilisé par .net pour identifier des éléments, quand je l'ai remis tout a bien fonctionné

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    </div>
    </form>
</body>
</html>
2
Arun Prasad E S

Vous pouvez essayer d'écrire un gabarit dans votre balise de page aspx

comme:

MasterPageFile = "~/Master.Master"

2
elfekz

Pour moi, cette erreur commence à se produire après une erreur que j'ai eu lors du processus de publication (je l'ai également définie pour compiler les pages .aspx). Attention, le fait de double-cliquer sur l'erreur ne chargera pas le code source de votre solution mais une copie dans le sous-dossier obj. c'est-à-dire vérifiez que votre code source actuel est ouvert .

Oui, c'est une erreur mortelle. Oui, je viens de passer 10 minutes à le déboguer.

2
Rob Church

J'ai réussi à supprimer ces erreurs en modifiant la version .Net (dans les propriétés du projet) de 4.5 à 3.5. Je l'ai ensuite ramené à la version 4.5 et les erreurs ne sont pas revenues.

1
Nick Beach

J'ai eu ce problème sur un site asp.net 4. L'ajout de la compatibilité 3.5 l'a corrigé.

<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>
0
Mike Veazie
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>

Ajoutez ceci en haut de la page ASP après une ligne où la page de contenu est liée à la page maître. J'espère que votre problème sera résolu. Cela a fonctionné pour moi.

Current: ASP developer chez Flippertech

0
Altaf Raja

Si cette erreur survient sur les pages qui héritent de la page maître, une cause possible est la balise! DOCTYPE que vous avez probablement utilisée quelque part dans votre page pour déclarer! DOCTYPE au format HTML. Puisque asp est une balise de préfixe asp.net et non du code HTML, cette erreur se produit.

0
Mr. Vishwas

Dans mon cas, aucune des solutions existantes n'a fonctionné, mais l'une d'entre elles a sonné le glas. J'avais ajouté des balises (pour inclure des références de fichiers JavaScript et CSS) dans la page MasterPage de ma solution VS2017, comme ceci:

<asp:ContentPlaceHolder ID="Content1" runat="server"> <script type="text/javascript" src="behavior.js"></script> </asp:ContentPlaceHolder>

J'ai enlevé ces balises de script et l'erreur a disparu. Ce qui est curieux, c’est que j’ai eu d’autres pages qui ont également hérité de ce même MasterPage mais l’erreur n’était pas présente ici. Cependant, l'erreur est apparue sur cette page spécifique que j'ai créée dans la solutionaprèsen ajoutant les scripts à MasterPage. Mon idée était d'éviter d'ajouter ces mêmes scripts sur chaque page héritant de MasterPage. J'ai donc rajouté ces scripts à MasterPage, juste pour vérifier ... et l'erreur ne s'est plus affichée . Ma théorie est que certains fichiers internes dans Visual Studio sont corrompus et que, si vous ajoutez des scripts ou du contenu à la page maître, puis que vous les supprimez, ou si vous modifiez simplement la page principale afin d'enregistrer les modifications, ces modifications réécrivent un fichier interne. à Visual Studio, qui est utilisé pour analyser le contenu ASP et HTML. En d'autres termes, c'est comme "actualiser" le IDE pour qu'il analyse correctement votre page. C'est juste une théorie, mais ça a quand même fonctionné, alors j'espère que cette solution fonctionnera aussi pour d'autres personnes.

0
Javier D.