2010-08-11 1 views
0

Le problème est que je dois taper build sur mon application de site Web plusieurs fois pour faire disparaître toutes les erreurs, éventuellement, il sera construit avec succès. Mais, je reçois plusieurs messages "étiquette, bouton, etc n'existe pas dans le contexte". Si je clique sur le fichier, il se corrige et disparaît. Si je clique sur build, cela corrige.N'existe-t-il pas dans la question de construction de contexte actuel?

Je cherche:

  1. explication claire du problème
  2. Un correctif qui fonctionne tout en gardant mon même modèle qui est le site et non modèle de projet
+0

vous obtenez plusieurs messages où? comme une erreur d'exécution? –

+0

@Robert Je pense que cela a à voir avec les contrôles ASP.NET. Je reçois les erreurs au moment de la construction. "n'existe pas dans la solution actuelle". Une reconstruction aura tendance à les effacer ou deux ou trois ou en double cliquant sur un fichier. –

Répondre

0

Je sais que vous demandé une explication claire ... alors pourquoi pas Visual Studio n'est pas parfait et a encore des problèmes?

Un thats fix a fonctionné pour moi:

Ce problème est arrivé à moi avant dans les grands projets web où mon arbre de dépendance est assez grande, mais je suis sûr que cela peut arriver dans d'autres situations. Pour résoudre ce problème, je fais un clic droit sur la solution et je fais une "solution propre", puis je fais une "solution de reconstruction". Habituellement, cela va le réparer pour moi.

Si ce n'est pas le cas, je procède à l'étape de nettoyage, puis je passe à la phase de base et je les construis un à la fois. Habituellement, cela va le réparer pendant un certain temps (oui, je ne comprends pas la peine de faire cela, c'est pourquoi j'ai regroupé mes projets dans des dossiers de solution et juste construire ceux dans leurs groupes logiques à la place). J'espère que cela pourra aider.

0

Construisez-vous en mode de débogage ou de libération? Je demande parce qu'il y a des différences entre eux et certaines erreurs de construction se produisent seulement dans l'un ou l'autre (habituellement le bogue est en mode de libération). Une recherche rapide sur le web pour quelque chose comme "debug vs release build" vous donnera un aperçu.

Sur un projet que j'ai travaillé tout à l'heure, j'ai découvert très tôt que j'avais des problèmes référentiels en mode de libération qui n'existaient pas en mode débogage. J'avais placé des commandes d'utilisateur et des formulaires Web dans des sous-répertoires dans mon projet de site Web. Le problème était qu'un formulaire Web dans un sous-répertoire utilisait un contrôle utilisateur dans un autre sous-répertoire et un formulaire Web dans ce sous-répertoire utilisait un contrôle utilisateur dans le premier sous-répertoire, créant ainsi une référence circulaire entre ces répertoires. Est-ce que ça a du sens?

C'était quelque chose comme ce qui suit.

Organisations \ OrgDetails.aspx -> Départements \ DeptartmentSearch.ascx Départements \ DeptartmentDetails.aspx -> Organisations \ OrganisationSearch.ascx

Les contrôles étaient dans le même projet si cela ne devrait pas avoir été problème, mais Visual Studio se plaignait de ne pas être capable de référencer l'un d'entre eux lorsque j'ai lancé la construction en mode Release! Il semble que pendant qu'il construisait du code dans le premier répertoire, il essayait de référencer le code dans le second répertoire, mais le second répertoire n'avait pas encore été construit!

Je pense que c'est un bug avec les versions de versions pour les projets de sites Web. Je n'ai pas eu de tels problèmes avec d'autres types de projets.

Questions connexes