106 votes

le fichier source est différent de celui de la construction du module

Cela me rend fou.

J'ai un assez gros projet que je suis en train de la modifier. J'ai remarqué plus tôt que quand j'ai tapé DbCommand, visual studio n'a pas fait toute la coloration syntaxique sur elle, et je suis en utilisant l'aide d' System.Data.Common.

Même si rien n'a été mis en évidence, le projet semblait être en cours d'exécution fine dans mon navigateur. J'ai donc décidé de lancer le débogueur pour voir si les choses étaient vraiment travailler comme ils devraient l'être.

Chaque fois que la classe qui n'a pas à faire la mise en évidence est appelé-je obtenir de l' "the source file is different from when the module was built" message.

J'ai nettoyé la solution et reconstruit plusieurs fois, supprimé des fichiers tmp, suivi toutes les instructions ci-après "Le fichier source est différent lorsque le module a été construit.", redémarré le serveur web et encore il me dit que les fichiers sources sont différentes alors qu'elles ne le sont pas.

Je ne peux pas tester le code que j'ai écrit aujourd'hui à cause de cela.

  • Comment peut-on la source de être différent que le binaire quand j'ai juste respecté il?
  • Est-il possible de frapper un certain sens, dans visual studio, ou suis Je viens de rater quelque chose?

115voto

Eliott Points 461

J'ai eu ce problème l'exécution d'une application console où la source est différente était la source qui avait le point d'entrée (static void main). Supprimer les répertoires bin et obj et de faire une reconstruction complète semblait correct, mais chaque fois que j'ai fait une modification du code, il serait de sortir de nouveau.

La raison que j'ai trouvé pour cet été:

  1. J'avais coché la case "Seulement de construire des projets de démarrage et dépendances" (Options -> les Projets et les Solutions -> Build et Run)
  2. Dans le Gestionnaire de Configuration de mon projet de start-up n'ont pas de "Construire" est cochée

27voto

Scott Dean Points 101

Je viens d'avoir ce même problème, mes projets étaient tous dans la même solution, de sorte qu'ils ont été à l'aide Projet à l'références, de sorte qu'on a changé les autres ont été mis à jour. Cependant, il n'était pas le cas, j'ai essayé de construire, reconstruire, à proximité VS2010, tiré d'une nouvelle copie de notre contrôle de code source. Rien de tout cela fonctionné, ce que j'ai finalement fini par tenter a été un clic droit sur le projet et la reconstruction de chaque projet individuellement. La mise à jour de la .dll et .fichiers pdb afin que je puisse debug par.

Le problème ici est que votre dll et ou vos fichiers pdb ne sont pas synchronisés.

5voto

Charles Points 11

Suivez ces étapes

  1. Supprimez simplement le répertoire bin du projet où la DLL est générée.
  2. Reconstruisez le projet.
  3. Supprimer la référence du projet qui fait référence à la DLL.
  4. Inclure à nouveau la référence.
  5. Prendre plaisir.

4voto

ChrisF Points 74295

Certaines choses que vous devez vérifier:

Avez-vous vérifié vos références de projet?

Avez-vous un Visual Studio commencé serveur web encore en cours? Vérifiez la barre d'état système et chercher une page avec une icône de roue dentée (vous pouvez avoir plus d'un):

alt text

Clic droit et de la fermer/quitter. Vous pouvez avoir plus d'un. Vous pouvez déboguer vos modifications maintenant?

Vous exécutez la version de débogage, mais ont seulement construit la version (ou vice versa)?

A la compilation réussir réellement? Je sais que j'ai cliqué sur la "il y avait des erreurs, voulez-vous continuer?" message d'un couple de fois sans s'en rendre compte.

3voto

user3233739 Points 11

Avec des services web, le problème peut être causé par l'utilisation de Visual Studio "Afficher dans le Navigateur de la commande". Cela place le service de la DLL et les fichiers PDB dans le bin et obj dossiers. Lorsque le pied dans le service web à partir d'un client, d'une certaine manière Visual Studio utilise le PDB dans le bac (ou obj) dossier, mais il utilise la DLL à la sortie du projet de dossier de création. Il y a deux solutions:

  1. Essayez de supprimer les DLL et les fichiers PDB dans le service web de la corbeille et les fichiers obj.
  2. Essayez en cliquant sur "Afficher dans le Navigateur" dans Visual Studio.

Si vous avez déjà obtenu le fichier source d'erreur d'incompatibilité, Visual Studio pourrait avoir ajouté le nom de fichier à une liste noire. Vérifiez vos propriétés de la solution. Choisissez "Propriétés Communes -> Débogage des Fichiers Source" sur le côté gauche de la boîte de dialogue. Si votre web service source, les fichiers apparaissent dans le champ "Ne pas rechercher ces fichiers source", de les supprimer.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X