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?
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,.
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.
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.
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>
<%@ 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
Fermer simplement la solution et la rouvrir a fonctionné pour moi (ou fermer Visual Studio et le rouvrir).
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" %>
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>
Vous pouvez essayer d'écrire un gabarit dans votre balise de page aspx
comme:
MasterPageFile = "~/Master.Master"
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.
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.
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"/>
<%@ 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
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.
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.