2009-12-10 3 views
6

dans ma solution:fichier de bibliothèque de classes projet non compilation dans le débogage ou .dll

  • i ont un projet de bibliothèque de classe qui compile en une dll.
  • J'ai un projet web.

(i ont de multiples solutions avec différents projets web, mais la même bibliothèque de classe)

l'un des fichiers dans le projet de classe (utilities.cs) - tout d'un coup ne compilera pas dans le. dll

J'avais apporté une modification à ce fichier, mais le changement ne montrerait pas sur le site Web. donc j'ai mis un point d'arrêt dans le fichier .cs, et j'ai essayé de l'exécuter ... le point d'arrêt n'a pas été touché! Finalement, j'ai mis un point d'arrêt dans le fichier .aspx qui a appelé la fonction. Puis j'ai mis le débogueur sur une ligne, de sorte qu'il entrerait dans le fichier .cs, sauf que j'ai l'erreur:

"Ce fichier source a changé. Il ne correspond plus à la version du fichier utilisé pour construire l'application. être débogué. " Ainsi, le code de utilities.cs n'est pas mis à jour dans la DLL. ce qui est bizarre, parce que le code dans mes autres fichiers .cs est mis à jour (j'ai essayé de changer quelques lignes) et est capable d'attraper le débogage.

des idées comment résoudre ce problème? ou même quelle est la cause du problème?

Répondre

6

Essayez:
Faites un clic droit sur Solution dans l'Explorateur de solutions -> Propriétés -> Propriétés de configuration -> Assurez-vous Construire case est cochée pour votre bibliothèque de classes.

1

Vous devez savoir pourquoi la DLL ne construira pas:

  • Regardez la fenêtre de sortie pour toute erreur
  • Vérifiez la fenêtre Erreurs

Corrigez les erreurs et essayer de construire à nouveau . La DLL que vous essayez de déboguer provient d'une version plus ancienne de votre code qui a bien été compilée et le débogueur l'a choisi et essaie de déboguer contre cela - il se plaint parce que le code et la DLL ne correspondent plus .Essayez de créer une Build -> Clean sur la solution, puis reconstruisez-la pour voir les erreurs.

+2

Dans mon cas, le projet qui ne compilait pas utilisait une version légèrement supérieure de .net. – frosty

Questions connexes