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
.rds
fra mine rapportprojekter (og efterlader kun den ene kopi i mineData Sources
projekt) - I hvert rapportprojekts projektfil (
Foo.rptproj
), ændre teksten iProject.DataSources.ProjectItem.FullPath
element fraMy Shared Data Source.rds
til..\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.