Почему Вы не проверяете LicenseManager. UsageMode. Это свойство может иметь значения LicenseUsageMode. Время выполнения или LicenseUsageMode. Время проектирования.
Вы, хотят, чтобы код только работал во времени выполнения, использовал следующий код:
if (LicenseManager.UsageMode == LicenseUsageMode.Runtime)
{
bla bla bla...
}
Метод (грязный трюк?), С которым я сейчас играю, заключается в копировании моего источника данных ( .rds
) в каждый проект, закройте Visual Studio, затем в базовых файлах / папках:
.rds
из моих проектов отчетов (оставив только одну копию в моем Источники данных
проект) Foo. rptproj
), измените текст элемента Project.DataSources.ProjectItem.FullPath
с My Shared Data Source.rds
на .. \ Data Sources \ My Shared Data Source.rds
Таким образом, все проекты отчетов ссылаются на один и тот же базовый файл в файловой системе, поэтому они совместно используют одно определение источника данных, но каждый проект также имеет «локальный» общий источник данных, поэтому Visual Studio сохраняется счастлив.
Что касается системы управления версиями: остается только одна копия .rds
, поэтому мы не загрязняем кодовую базу множеством неприятных дубликатов; изменения в файлах .rptproj
могут быть зарегистрированы, поэтому мы не заставляем разработчиков заниматься неестественной гимнастикой управления исходным кодом (выборочные частичные фиксации и т. д.) для поддержания нормальной главной копии.
Каждый отчетный проект будет пытаться развернуть этот источник данных, хотя я запретил перезапись существующих источников данных на сервере, так что это не слишком большая проблема. . . и я полагаю, что если бы я намеревался перезаписать определение источника данных сервера, не имело бы значения, перезаписал я его один или десять раз тем же .rds
.
Отказ от ответственности: это все еще эксперимент . У меня еще нет опыта использования этой техники на практике, поэтому я не могу зайти так далеко, чтобы рекомендовать ее.
На самом деле не имеет значения, перезаписал ли я его один или десять раз одним и тем же .rds
.
Отказ от ответственности: это все еще эксперимент. У меня еще нет опыта использования этой техники на практике, поэтому я не могу зайти так далеко, чтобы рекомендовать ее.
На самом деле не имеет значения, перезаписал ли я его один или десять раз одним и тем же .rds
.
Отказ от ответственности: это все еще эксперимент. У меня еще нет опыта использования этой техники на практике, поэтому я не могу зайти так далеко, чтобы рекомендовать ее.
Вуди,
Что мы обычно делали, так это:
На сервере есть папка с названием «Источники данных», которая скрыта от пользователей. Там будут все источники данных.
Для каждого проекта создания отчетов в VS будет папка, также называемая «Источники данных», но на этот раз она будет содержать только источник данных для этого отчета.
Пока поскольку структура папок одинакова (т.е. отчет и источник данных имеют одинаковый соответствующий уровень папок на сервере и в VS), это, похоже, работает для нас.