Une technique (sale tour ?) avec laquelle je joue maintenant consiste à copier ma source de données (.rds
) dans chaque projet, fermez Visual Studio, puis dans les fichiers/dossiers sous-jacents :
- Supprimez le
.rds
copié de mes projets de rapport (ne laissant qu'une seule copie dans mesData Sources
projet) - Dans le fichier de projet de chaque projet de rapport (
Foo.rptproj
), modifiez le texte duProject.DataSources.ProjectItem.FullPath
élément deMy Shared Data Source.rds
vers..\Data Sources\My Shared Data Source.rds
De cette façon, tous les projets de création de rapports font référence au même fichier sous-jacent sur le système de fichiers, de sorte qu'ils partagent une seule définition de source de données, mais chaque projet a également en quelque sorte une source de données partagée "locale", de sorte que Visual Studio est satisfait.
Concernant le contrôle de source :il n'existe toujours qu'une seule copie du .rds
vérifié, donc nous ne polluons pas la base de code avec beaucoup de doublons dégueulasses ; les modifications apportées au .rptproj
les fichiers peuvent être archivés, nous n'obligeons donc pas les développeurs à une gymnastique non naturelle du contrôle des sources (commits partiels sélectifs, etc.) pour conserver une copie maîtresse saine.
Chaque projet de création de rapports essaiera de déployer cette source de données, même si j'ai interdit l'écrasement des sources de données existantes sur le serveur, donc ce n'est pas trop grave. . . et je suppose que si j'avais l'intention d'écraser la définition de la source de données du serveur, peu importe que je l'écrase une ou dix fois avec le même .rds
.
Avis de non-responsabilité :il s'agit encore d'une expérience. Je n'ai pas encore d'expérience dans l'utilisation de cette technique dans la pratique, donc je ne peux pas aller jusqu'à la recommander.