62 votes

Quel est le répertoire 'obj' dans .NET?

Quel est exactement le but du répertoire 'obj' en .NET?

85voto

splattne Points 48126

Le dossier "obj" est utilisé pour stocker les fichiers d'objet temporaires et autres fichiers utilisés afin de créer le binaire final lors du processus de compilation.

Le dossier "bin" est le dossier de sortie pour les binaires complets (assemblages).

55voto

Jon Skeet Points 692016

En plus de la réponse de réponse de splattne, je crois que la raison de l'avoir (et de ne pas le nettoyer après la construction) est de soutenir la compilation progressive. Si vous avez déjà compilé 100 classes et que vous en modifiez une, il est beaucoup plus efficace de simplement recompiler le code pour la classe modifiée et de réassembler l'exe/dll à partir d'un mélange de code nouveau et ancien.

Bien sûr, la compilation progressive est beaucoup plus complexe que cela - elle doit suivre tout pour pouvoir détecter quand il faut recompiler une classe même si cette classe elle-même n'a pas changé. (par exemple si une nouvelle surcharge devient disponible dans une classe - certains appelants peuvent avoir besoin d'être recompilés.)

0 votes

Quelle est la source des fichiers obj? Je demande car j'ai un problème avec un projet Azure Cloud Service qui emballe la mauvaise version de System.Runtime.dll. Veuillez consulter ici.

0 votes

@ShaulBehr: Pas sûr de ce que vous voulez dire par "source" ici, mais je ne pense pas pouvoir éclairer vos problèmes, désolé.

0 votes

Je veux dire, comment Visual Studio décide-t-il quelle version d'une DLL donnée est copiée dans le dossier obj ? Dans mon cas, si le projet de rôle de travail fait référence à la version 4.3.1 de System.Runtime, pourquoi le projet de service Cloud copierait-il une version différente de la DLL dans son dossier obj ?

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