2009-01-16 8 views
0

Nous utilisons Visual Studio 2008 pour développer une application WinForms stockée dans Visual Source Safe 2005.VS 2008 WinForms avec SourceSafe

Si l'un de nos membres de l'équipe change un * dossier sans modifier le fichier source du formulaire la modification n'apparaît pas lors d'une opération "Get". Toutefois, si dans Visual Studio vous exécutez une comparaison sur le fichier * .Designer.cs, les différences sont affichées dans la visionneuse de différence.

FYI: Nous utilisons le plug-in Microsoft Visual SourceSafe par défaut pour Visual Studio.

Des idées pour lesquelles l'opération "Get" ne détectera pas les modifications dans les fichiers * .Designer.cs et suggérer que nous supprimions la dernière version?

Merci pour votre aide!

Répondre

3

Les fichiers de conception ne sont pas conçus pour une manipulation manuelle. L'une des principales motivations pour ajouter des classes partielles aux langages .Net populaires était de séparer le code généré par le concepteur du code utilisateur manuel, en fait. La manipulation manuelle de code généré à plusieurs reprises (dans presque tous les environnements, pas seulement visuels studio) demande des maux de tête.

Quels sont les changements que vous apportez au fichier du concepteur et pourquoi n'est-il pas possible d'apporter ces modifications au fichier source non-concepteur?

Edit:

Le projet est dans l'IDE correctement lié et connecté à la base de données de contrôle de code source (via Fichier-> Source contrôle-> Change Control Source)? Il devrait automatiquement vérifier les fichiers du concepteur lorsque des modifications sont apportées dans la vue du concepteur.

+0

Nous modifions uniquement les fichiers du concepteur via le concepteur visuel de l'EDI. Dans notre cas, nous modifions les propriétés des composants visuels (c'est-à-dire, texte, police, etc.). –

0

Malheur à vous d'avoir à utiliser SourceSafe. Lors de mon dernier emploi, nous avons utilisé SourceSafe et avons eu une myriade de problèmes avec elle. Nous sommes passés à Surround SCM et nous en sommes très satisfaits. Je n'en avais jamais entendu parler avant ce travail.

Pour répondre à votre question, à chaque fois que je rencontrais un problème comme celui-ci avec SS, je ferais un "get get": dans la boîte de dialogue Options, indiquez SourceSafe pour obtenir la dernière version du serveur indépendamment du fait qu'il pense que le fichier est à jour. Edit: Je pense que le problème est le plugin VS200X pour VSS. Si vous avez l'application autonome VSS, vous devriez être capable de faire un get forcé à partir de là. Je me souviens maintenant d'avoir à le faire si souvent que j'ai arrêté d'utiliser le plugin VS200X.

+0

Etes-vous sûr qu'il existe une option "forcée"? Je ne l'ai jamais vu, même en appuyant sur Shift en cliquant sur "Obtenir la dernière version ..." (J'essaye dans VSS 2005.) – felideon

+0

Dans notre cas, si nous faisons un "get" sur le fichier source associé au concepteur fichier le fichier du concepteur correct est tiré vers le bas. Cependant, le problème est qu'il n'y a aucun moyen pour nous de dire en masse ce que les fichiers du concepteur ont changé; nous devons exécuter une comparaison sur tous les fichiers de concepteur, un à la fois. –

+0

Je pense que vous ne pouvez faire un get forcé à partir de l'application VSS, pas le plugin VS200x. Ça fait un an que je l'ai touché, donc ma mémoire ... Modification de ma réponse ... – jcollum

0

Je voudrais essayer de faire un Get manuellement via l'Explorateur VSS (c'est-à-dire pas via Visual Studio) et voir si cela fonctionne. Sinon, vérifiez si le fichier est épinglé à une version précédente.