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. 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' P> 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. P> Des idées quant à ce qui pourrait causer le problème? P> P>
5 Réponses :
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:
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>
Bon conseil, ceux-ci ont résolu d'autres problèmes que j'ai eu, mais pas celui-ci.
Essayez de changer la référence pour être dans le ou version courte: p> web.config code> et voir quelle erreur si des résultats? Voici un exemple de la racine Drive: \ Documents et paramètres \ [Utilisateur] \ ApplicationData \ Microsoft \ VisualStudio \ 9.0 \ réfléchies code> p> % appdata% \ Microsoft \ VisualStudio \ 9.0 \ réfléchiesChemas \ code> p> p>
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.
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. P>
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>
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.
Placez le <% @ import%> code> Directive au-dessus du <% @ enregistrez%> code> directive:
Excellent. Juste ce dont j'avais besoin avec mon numéro de pages d'application VS2012 SharePoint 2010 avec l'IntelliSense.