Eine Technik (schmutziger Trick?), mit der ich gerade spiele, ist das Kopieren meiner Datenquelle (.rds
). ) in jedes Projekt, schließen Sie Visual Studio, dann in den zugrunde liegenden Dateien/Ordnern:
- Löschen Sie die kopierte
.rds
aus meinen Berichtsprojekten (wobei ich nur die eine Kopie in meinenData Sources
belasse Projekt) - In der Projektdatei jedes Berichtsprojekts (
Foo.rptproj
), ändern Sie den Text vonProject.DataSources.ProjectItem.FullPath
-Element ausMy Shared Data Source.rds
nach..\Data Sources\My Shared Data Source.rds
Auf diese Weise verweisen alle Berichtsprojekte auf dieselbe zugrunde liegende Datei im Dateisystem, sodass sie eine einzige Datenquellendefinition gemeinsam nutzen, aber jedes Projekt hat auch eine Art „lokale“ gemeinsam genutzte Datenquelle, sodass Visual Studio zufrieden ist.
Zur Quellcodeverwaltung:Es gibt immer noch nur eine Kopie der .rds
eingecheckt, damit wir die Codebasis nicht mit vielen ekligen Duplikaten verunreinigen; die Änderungen an der .rptproj
Dateien können eingecheckt werden, also zwingen wir Entwickler nicht zu unnatürlichen Source-Control-Gymnastik (selektive Teil-Commits usw.), um eine vernünftige Master-Kopie zu erhalten.
Jedes Reporting-Projekt wird versuchen, diese Datenquelle bereitzustellen, obwohl ich das Überschreiben bestehender Datenquellen auf dem Server verboten habe, also ist es keine allzu große Sache . . . und ich nehme an, wenn ich beabsichtigte, die Datenquellendefinition des Servers zu überschreiben, wäre es nicht wirklich wichtig, ob ich sie einmal oder zehnmal mit demselben .rds
überschrieben habe .
Haftungsausschluss:Dies ist noch ein Experiment. Ich habe noch keine Erfahrung mit der Anwendung dieser Technik in der Praxis, daher kann ich nicht so weit gehen, sie wirklich zu empfehlen.