Een techniek (vuile truc?) waarmee ik nu speel, is het kopiëren van mijn gegevensbron (.rds
) in elk project, sluit Visual Studio en vervolgens in de onderliggende bestanden/mappen:
- Verwijder de gekopieerde
.rds
van mijn rapportprojecten (laat alleen de ene kopie over in mijnData Sources
project) - In het projectbestand van elk rapportproject (
Foo.rptproj
), verander de tekst van hetProject.DataSources.ProjectItem.FullPath
element uitMy Shared Data Source.rds
naar..\Data Sources\My Shared Data Source.rds
Op deze manier verwijzen alle rapportageprojecten naar hetzelfde onderliggende bestand op het bestandssysteem, zodat ze een enkele gegevensbrondefinitie delen, maar elk project heeft ook een soort "lokale" gedeelde gegevensbron, zodat Visual Studio tevreden blijft.
Wat betreft bronbeheer:er is nog maar één exemplaar van de .rds
ingecheckt, dus we vervuilen de codebasis niet met veel icky duplicaten; de wijzigingen aan de .rptproj
bestanden kunnen worden ingecheckt, dus we dwingen ontwikkelaars niet tot onnatuurlijke gymnastiek met broncontrole (selectieve gedeeltelijke commits enz.) om een goede masterkopie te behouden.
Elk rapportageproject zal proberen deze gegevensbron in te zetten, hoewel ik het overschrijven van bestaande gegevensbronnen op de server heb verboden, dus het is niet zo'n groot probleem. . . en ik veronderstel dat als ik van plan was de gegevensbrondefinitie van de server te overschrijven, het niet echt uitmaakt of ik het een of tien keer zou overschrijven met dezelfde .rds
.
Disclaimer:dit is nog een experiment. Ik heb nog geen ervaring met het gebruik van deze techniek in de praktijk, dus ik kan niet zo ver gaan om het daadwerkelijk aan te bevelen.