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
.rdsvan mijn rapportprojecten (laat alleen de ene kopie over in mijnData Sourcesproject) - In het projectbestand van elk rapportproject (
Foo.rptproj), verander de tekst van hetProject.DataSources.ProjectItem.FullPathelement uitMy Shared Data Source.rdsnaar..\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.