Question

Est-il recommandé de valider un fichier .sln dans le contrôle de source? Quand est-il approprié ou inapproprié de le faire?

Mettre à jour Plusieurs bonnes remarques ont été faites dans les réponses. Merci pour les réponses!

Était-ce utile?

La solution

Je pense qu'il est clair dans les autres réponses que les fichiers de solution sont utiles et doivent être validés, même s'ils ne sont pas utilisés pour des versions officielles. Ils sont pratiques pour ceux qui utilisent les fonctionnalités de Visual Studio telles que Aller à la définition / Déclaration.

Par défaut, ils ne contiennent pas de chemins absolus ni d’autres artefacts spécifiques à la machine. (Malheureusement, certains outils de complément ne gèrent pas correctement cette propriété, par exemple, AMD CodeAnalyst.) Si vous veillez à utiliser des chemins relatifs dans vos fichiers de projet (C ++ et C #), ils seront indépendants de la machine. aussi.

La question la plus utile est probablement: quels fichiers devez-vous exclure? Voici le contenu de mon fichier .gitignore pour mes projets VS 2008:

*.suo
*.user
*.ncb
Debug/
Release/
CodeAnalyst/

(La dernière entrée concerne uniquement le profileur AMD CodeAnalyst.)

Pour VS 2010, vous devez également exclure les éléments suivants:

ipch/
*.sdf
*.opensdf

Autres conseils

Oui, je pense que c'est toujours approprié. Les paramètres spécifiques à l'utilisateur se trouvent dans d'autres fichiers.

Oui, vous devriez le faire. Un fichier de solution contient uniquement des informations sur la structure globale de votre solution. Les informations sont globales pour la solution et sont probablement communes à tous les développeurs de votre projet.

Il ne contient aucun paramètre spécifique à l'utilisateur.

Vous devriez vraiment l'avoir. Outre les raisons évoquées par d’autres personnes, il est nécessaire de construire en une étape l’ensemble des projets.

Je conviens généralement que les fichiers de solution doivent être archivés. Cependant, dans l'entreprise pour laquelle je travaille, nous avons procédé de manière différente. Nous avons un référentiel assez volumineux et les développeurs travaillent de temps à autre sur différentes parties du système. Pour faciliter notre travail, nous aurions soit un gros fichier de solution, soit plusieurs plus petits. Ces deux solutions présentent quelques inconvénients et nécessitent un travail manuel de la part des développeurs. Pour éviter cela, nous avons créé un plug-in qui gère tout cela.

Le plug-in permet à chaque développeur d'extraire un sous-ensemble de l'arborescence source sur lequel il convient de travailler simplement en sélectionnant les projets pertinents dans le référentiel. Le plug-in génère ensuite un fichier de solution et modifie les fichiers de projet à la volée pour la solution donnée. Il gère également les références. En d'autres termes, tout ce que le développeur doit faire est de sélectionner les projets appropriés, puis les fichiers nécessaires sont générés / modifiés. Cela nous permet également de personnaliser divers autres paramètres pour garantir les normes de l'entreprise.

De plus, nous utilisons le plug-in pour prendre en charge diverses règles d’enregistrement, ce qui empêche généralement les utilisateurs de soumettre du code défectueux / non conforme au référentiel.

Oui, les choses que vous devriez commettre sont les suivantes:

  • solution (* .sln),
  • fichiers de projet,
  • tous les fichiers source,
  • fichiers de configuration d'application
  • construire des scripts
Les

choses que vous ne devriez pas commettre sont les suivantes:

  • fichiers d'options utilisateur (.suo) de la solution,
  • les fichiers générés (par exemple, à l'aide d'un script de construction) [Éditer:] - uniquement si tous les scripts et outils de construction nécessaires sont disponibles sous contrôle de version (pour garantir que les versions sont authentiques dans l'historique de cvs)

En ce qui concerne les autres fichiers générés automatiquement, il existe un fil séparé .

Oui, cela devrait faire partie du contrôle de source. Chaque fois que vous ajoutez / supprimez des projets de votre application, le fichier .sln est mis à jour et il serait bon de l'avoir sous contrôle de source. Cela vous permettrait d'extraire les versions de votre code d'application 2 et de construire directement (si nécessaire).

Oui, vous souhaitez toujours inclure le fichier .sln, il inclut les liens vers tous les projets de la solution.

Dans la plupart des cas, il est judicieux de valider des fichiers .sln dans le contrôle de source.

Si vos fichiers .sln sont générés par un autre outil (tel que CMake), il est probablement inapproprié de les placer dans le contrôle de source.

Nous le faisons parce que tout est synchronisé. Tous les projets nécessaires sont regroupés et personne ne doit craindre d'en manquer un. Notre serveur de compilation (Ant Hill Pro) utilise également le sln pour déterminer les projets à construire pour une version.

Nous mettons généralement tous nos fichiers de solutions dans un répertoire de solutions. De cette façon, nous séparons un peu la solution du code et il est plus facile de choisir le projet sur lequel je dois travailler.

Si vous envisagiez même de ne pas le stocker dans le contrôle de source, vous ne pourriez le faire que si vous disposiez d'une solution volumineuse comportant de nombreux projets sous contrôle de code source et si vous souhaitiez créer une petite solution avec certains projets du groupe principal. solution pour certaines exigences transitoires privées.

Oui - Tout le matériel utilisé pour générer votre produit doit être sous contrôle de code source.

Nous conservons les fichiers ou les solutions dans TFS Version Control. Mais comme la solution principale est vraiment volumineuse, la plupart des développeurs ont une solution personnelle contenant uniquement ce dont ils ont besoin. Le fichier de solution principal est principalement utilisé par le serveur de compilation.

.slns est la seule chose avec laquelle nous n'avons pas rencontré de problèmes dans tfs!

1) Créer un nouveau projet dans VS
2) Cliquez avec le bouton droit sur la solution dans l'Explorateur de solutions, sélectionnez Ajouter au contrôle de code source

.

Le sln est-il ajouté au contrôle de source? C'est ta réponse.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top