6
votes

Préfixe de tag non reconnu ou filtre de périphérique dans Visual Studio 2008

J'ai un ensemble de contrôles Web dans un assemblage référencé par un site Web. Je peux tout construire et tout courir sans problème, cependant, lorsque je regarde une page ASPX où les commandes sont utilisées, je reçois un soulignement vert sous le préfixe de balise. xxx

donc dans cet exemple je «D Obtenez un soulignement vert sous le contrôlommararary et lorsque je le survolez, il indique un préfixe de tag non reconnu ou un filtre de périphérique 'Controlibrary'

Le code a été écrit dans une version précédente de Visual Studio, j'ai également une autre assemblée contenant également Contrôles Web et qui semble fonctionner correctement.

Des idées quant à ce qui pourrait causer le problème?


0 commentaires

5 Réponses :


1
votes

Il est difficile de dire quelle est la cause, mais l'analyseur ASP.NET XML dans Visual Studio a souvent des problèmes comme ceux-ci. Voici quelques solutions de contournement possibles que j'ai trouvées, peut-être que certains d'entre eux travailleront également pour vous aussi:

  • Après avoir ouvert le fichier .aspx, attendez un peu un peu. Il faut un moment pour que vs pour analyser le fichier et créer son intellisense; li>
  • Essayez de compiler le projet pendant que le fichier .aspx est ouvert et à l'écran fort>. Une construction réussie efface souvent ces problèmes. Si cela ne fonctionne pas, essayez de reconstruire le projet ou même toute la solution. Et encore - attendez un peu. Li>
  • Si tout échoue, mettez la définition de préfixe de la balise dans le fichier web.config: p>

    <configuration><system.web><pages><controls>
        <add tagPrefix="ControlLibrary" namespace="MyProject.UI.ControlLibrary.Web" assembly="MyProject.UI.ControlLibrary"/>
    </controls></pages></system.web></configuration>
    


1 commentaires

Bon conseil, ceux-ci ont résolu d'autres problèmes que j'ai eu, mais pas celui-ci.



3
votes

Essayez de changer la référence pour être dans le web.config et voir quelle erreur si des résultats? Voici un exemple de la racine des ajouts d'étiquette pour une référence d'emplacement. J'aime cette approche car il conserve le nettoyant pages aussi si vous utilisez la bibliothèque beaucoup du tout. Voir si vous obtenez le même résultat après avoir déplacé la référence de la bibliothèque. XXX

MISE À JOUR - En fonction de votre commentaire, essayez de supprimer tout dans

Drive: \ Documents et paramètres \ [Utilisateur] \ ApplicationData \ Microsoft \ VisualStudio \ 9.0 \ réfléchies

ou version courte:

% appdata% \ Microsoft \ VisualStudio \ 9.0 \ réfléchiesChemas \


2 commentaires

Oui, je suis un grand fan de celui-ci aussi, je suis restitué il y a une dernière fois que je regardais ce problème, alors c'est en fait la façon dont je le fais actuellement. Ça ne fait aucune différence.


Supprimer les réflexions a fonctionné pour moi, alors merci pour votre réponse.



1
votes

aucune idée de la raison pour laquelle cela fonctionne, mais ça fait. Lorsque je change d'espace de noms de l'un des contrôlements ListView à myProject.ui.controllibrary à partir de myProject.ui.controllibrary.web et répétez le registre <%, alors cela fonctionne bien.


0 commentaires

1
votes

Dans mon cas, j'ai trouvé que si l'assemblage de contrôle est déjà enregistré dans un préfixe dans le Web.config, puis vous essayez de l'enregistrer sur un préfixe différent à l'aide de @register, vous obtiendrez ce message d'erreur. < / p>


1 commentaires

C'était-ce -1'd parce que la réponse ne correspondait-elle pas à la résolution exacte à la question? Si vous essayez ce scénario, il fait dupliquer les conditions mentionnées dans la question. Je peux voir si j'étais totalement bas de la base dans ma réponse, mais -1 est pour quand la réponse n'a rien à voir avec la question, ne fournit pas de spécificités ou n'est pas incorrecte ni trompeuse. Sinon, vous voudrez peut-être simplement laisser une réponse seule car elle pourrait être la cause du problème dans la situation de quelqu'un d'autre.



3
votes

Placez le <% @ import%> Directive au-dessus du <% @ enregistrez%> directive: xxx


1 commentaires

Excellent. Juste ce dont j'avais besoin avec mon numéro de pages d'application VS2012 SharePoint 2010 avec l'IntelliSense.