Technika (brudna sztuczka?), którą teraz gram, polega na skopiowaniu mojego źródła danych (.rds ) do każdego projektu, zamknij Visual Studio, a następnie w odpowiednich plikach/folderach:
- Usuń skopiowany plik
.rdsz moich projektów raportów (pozostawiając tylko jedną kopię w moichData Sourcesprojekt) - W każdym pliku projektu raportu (
Foo.rptproj), zmień tekstProject.DataSources.ProjectItem.FullPathelement zMy Shared Data Source.rdsdo..\Data Sources\My Shared Data Source.rds
W ten sposób wszystkie projekty raportowania odwołują się do tego samego bazowego pliku w systemie plików, więc współdzielą jedną definicję źródła danych, ale każdy projekt ma także „lokalne” udostępnione źródło danych, więc program Visual Studio jest zadowolony.
Odnośnie kontroli źródła:wciąż istnieje tylko jedna kopia pliku .rds zaewidencjonowane, więc nie zanieczyszczamy bazy kodu dużą ilością icky duplikatów; zmiany w .rptproj pliki można zaewidencjonować, więc nie zmuszamy programistów do nienaturalnej gimnastyki kontroli źródła (selektywne częściowe zatwierdzenia itp.), aby zachować rozsądną kopię główną.
Każdy projekt raportujący będzie próbował wdrożyć to źródło danych, chociaż zabroniłem nadpisywania istniejących źródeł danych na serwerze, więc nie jest to zbyt wielka sprawa. . . i przypuszczam, że gdybym zamierzał nadpisać definicję źródła danych serwera, nie miałoby znaczenia, czy nadpisałem ją raz, czy dziesięć razy tym samym .rds .
Zastrzeżenie:to wciąż eksperyment. Nie mam jeszcze doświadczenia w stosowaniu tej techniki w praktyce, więc nie mogę posunąć się tak daleko, aby faktycznie ją polecić.