J'applique une nouvelle version d'un assembly à un projet Web et j'ai constaté que je vais devoir remplacer environ 500 instances de l'étiquette Assembly Assembly à le haut de chaque contrôle Web. J'ai considéré l'enregistrer dans le web.config mais quand j'essaye ceci et enlève la balise de "Registre" des contrôles, je reçois l'erreur de "préfixe de balise non reconnu" aussi bien que perdre l'intellisense pour cette balise. Je n'ai pas GAC'ed les assemblées mais je ne pensais pas que ce serait un problème. Qu'est-ce que j'oublie ici? Merci d'avance pour votre aide.Enregistrer l'assembly dans ASP.NET (VS 2005) et web.config
Répondre
Etes-vous sûr de créer correctement le fichier de configuration? Rick Strahl vient d'écrire un article excelent sur cette question:
http://www.west-wind.com/WebLog/posts/753705.aspx
Habituellement, lorsque vous incorporez un contrôle personnalisé dans une page, vous devez ajouter une balise @Register comme ceci:
<%@ Page language="c#" Inherits="Westwind.WebToolkit.MessageDisplay"
CodeBehind="MessageDisplay.aspx.cs"
enableViewState="false" AutoEventWireup="True"
MasterPageFile="~/WestWindWebToolkit.master"
%>
<%@ Register Assembly="Westwind.Web" Namespace="Westwind.Web.Controls" TagPrefix="ww" %>
dans afin d'obtenir un contrôle pour travailler dans la page et apparaître avec Intellisense. Si vous utilisez le concepteur visuel pour supprimer des contrôles, vous ne remarquerez probablement pas cette condition car le concepteur ajoute automatiquement la dépendance d'assembly et d'espace de noms pour vous dans la page. Cependant, si vous travaillez dans le balisage uniquement comme je le fais le plus souvent, il est souvent ennuyeux de devoir d'abord enregistrer le contrôle en haut de la page et de revenir à l'incorporation du contrôle dans la page pour obtenir Intellisense.
Un moyen plus facile et l'application de manière globale de le faire est de déclarer vos espaces de noms et les balises de contrôle directement dans web.config et de les appliquer à l'échelle mondiale:
<system.web> <pages>
<namespaces>
<add namespace="System.IO" />
<add namespace="System.Text" />
<add namespace="Westwind.Utilities" />
<add namespace="Westwind.Web.Controls" />
</namespaces>
<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" />
<add tagPrefix="ww" namespace="Westwind.Web.Controls" assembly="Westwind.Web" />
</controls>
</pages> <compilation debug="true">
<assemblies>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
</compilation>
</system.web>
La section des contrôles est ce qui fournit efficacement l'équivalence des @Enregistrez la balise dans les pages et une fois que vous avez défini le préfixe du tag, la balise @Register n'est plus nécessaire dans la page.
Hope qui aide,
Jim
je devais installer VS 2005 Service Pack 1 et redémarrez Visual Studio.
- 1. Bâtiment incrémental dans VS 2005?
- 2. ASP.NET MVC et deux fichiers Web.config
- 3. SaveOrUpdate Vs Mettre à jour et enregistrer dans NHibernate
- 4. Enregistrer DateTime dans mssql 2005 sans heures, minutes et secondes
- 5. asp.net, module de réécriture d'url et web.config
- 6. chemin relatif dans ASP.NET Web.config
- 7. Paramètres SMTP IIS et paramètre Host dans web.config dans ASP.Net
- 8. ASP.NET HttpHandlers et chemin scriptProcessor sur web.config
- 9. Silverlight et VS 2005 ou VS 2008 Express Edition
- 10. maxPageStateFieldLength ignoré dans web.config
- 11. VS 2005 paramètres d'interligne
- 12. ASP.NET web.config appsettings persistance
- 13. Paramètres live asp.net web.config
- 14. Migrer vs 2005 à 2008 vs
- 15. Chiffrer et enregistrer la chaîne de connexion ASP.NET dans le fichier web.config à l'aide de Trust moyen?
- 16. Autorisation Asp.net web.config
- 17. web.config et guillemets dans connectionStrings
- 18. Régénérer manquant AssemblyInfo.cs dans VS 2005
- 19. ASP.NET Comment ajouter un assembly dans web.config?
- 20. Plusieurs fichiers Web.Config dans l'application Web ASP.NET
- 21. UI Designer pour l'édition Web.config dans ASP.net
- 22. Crystal Cached signale les contrôles sur Toolbox dans VS 2005 et VS 2008
- 23. Paramètres d'autorisation ASP.NET web.config ignorés
- 24. IIS VS 2008/Web.config - format de date incorrect
- 25. asp.net mvc Enregistrer et afficher des images dans db
- 26. C# auto propriété VS 2005?
- 27. web.config et app.config confusion
- 28. exécution d'un xap (application silverlight) dans VS 2005
- 29. Avantages et inconvénients de l'enregistrement des contrôles utilisateur dans web.config vs page asp
- 30. Vs 2005 débogage à distance
Merci pour la réponse. J'ai en fait eu le code pour placer les étiquettes dans le web.config du site de Ricks. Ce qu'il a omis de mentionner, c'est qu'intellisense ne fonctionnera pas à moins que VS 2005 SP1 ne soit installé. Je l'ai fait et redémarré VS et ça marche maintenant! –