En teknik (dirty trick?), jeg leger med nu, er at kopiere min datakilde (.rds ) ind i hvert projekt, luk Visual Studio og derefter i de underliggende filer/mapper:
- Slet den kopierede
.rdsfra mine rapportprojekter (og efterlader kun den ene kopi i mineData Sourcesprojekt) - I hvert rapportprojekts projektfil (
Foo.rptproj), ændre teksten iProject.DataSources.ProjectItem.FullPathelement fraMy Shared Data Source.rdstil..\Data Sources\My Shared Data Source.rds
På denne måde refererer alle rapporteringsprojekter til den samme underliggende fil på filsystemet, så de deler en enkelt datakildedefinition, men hvert projekt har også en slags "lokal" delt datakilde, så Visual Studio holdes glad.
Med hensyn til kildekontrol:der er stadig kun én kopi af .rds tjekket ind, så vi forurener ikke kodebasen med masser af grimme dubletter; ændringerne til .rptproj filer kan tjekkes ind, så vi tvinger ikke udviklere til unaturlig kildekontrolgymnastik (selektive partielle commits osv.) for at opretholde en fornuftig masterkopi.
Hvert rapporteringsprojekt vil forsøge at implementere denne datakilde, selvom jeg har forbudt overskrivning af eksisterende datakilder på serveren, så det er ikke for stor en sag. . . og jeg formoder, at hvis jeg havde til hensigt at overskrive serverens datakildedefinition, ville det ikke være lige meget, om jeg overskrev den én eller ti gange med den samme .rds .
Ansvarsfraskrivelse:dette er stadig et eksperiment. Jeg har endnu ikke erfaring med at bruge denne teknik i praksis, så jeg kan ikke gå så langt som til faktisk at anbefale den.