Как устранить ошибку развертывания отчета при обращении к System.Core (4.0) в SSRS 2008R2

Предисловие:

Среда разработки: Visual Studio 2010 с BIDS + MSSQL 2012 на локальной коробке

Производственная среда: MSSQL 2008 R2 для сервера отчетов в реальном времени

У меня возникла проблема с развертыванием отчета при ссылке на System.Core в моем отчете. Ошибка ниже.

Ошибка при загрузке модуля кода: «System.Core, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089». Подробности: не удалось загрузить файл или сборку 'System.Core, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089' или одна из ее зависимостей. Эта сборка создается средой выполнения, более новой, чем текущая загруженная среда, и не может быть загружена.

Я ссылаюсь на System.Core в своем отчете, чтобы я мог использовать класс TimeZoneInfo. Я видел другие вопросы об использовании этого класса в SSRS, и я не смог решить эту проблему, следуя любому совету в этих вопросах.

REF

Работа с часовыми поясами в SSRS

SSRS 2k8, пользовательская dll, файл не найден

Ошибка развертывания служб Reporting Services 2012: «Ошибка при загрузке модуля кода»

Я могу сослаться на System.Core 4.0 и работать локально без каких-либо проблем; однако при развертывании я получаю сообщение об ошибке выше. Чтобы уточнить далее ... это происходит во время процесса развертывания, а не после развертывания и попытки запуска отчета на сервере.

РЕДАКТИРОВАТЬ

Отчет RDL xml для CodeModules выглядит следующим образом:

<CodeModules>
<CodeModule>System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

Это примерно столько же «встраивания», сколько я могу сказать, что оно делает. Это действительно просто ссылка на сборку, судя по всему.

Помощь будет принята с благодарностью.

РЕШЕНИЕ Поскольку вы не можете ссылаться на 4.0, вы можете ссылаться на 3.5, чтобы получить доступ к классу TimeZoneInfo.

Шаг 1. Создайте класс-оболочку для логики TimeZoneInfo, которую вы хотите использовать

Шаг 2. Задача 3.5

Шаг 3. Создайте версию выпуска и скопируйте ее в каталог [DRIVE]: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ PrivateAssemblies, чтобы ваш дизайнер мог загрузить его.

Шаг 4. Разверните ту же сборку на SQL Server @ в следующей папке [DRIVE]: \ Program Files \ Microsoft SQL Server \ MSRS10.SQL2008 \ Службы отчетов \ ReportServer \ bin \ Теперь вы можете развернуть свой отчет. Итак, мои ошибки были следующие

Я не ссылался на 3,5

Я не скопировал в нужный каталог экземпляр Visual Studio, чтобы подобрать сборку. Я переместил установку в другой каталог и не поместил ее в новый путь.

ОБНОВИТЬ

 Если кто-то пытается переосмыслить .NET 4.0 ins SSRS 2012 и выше и все равно получает ошибку, ответ прост. SSRS 2012 и 2014 (?) По-прежнему не поддерживают .NET 4.0источник

Похоже, это говорит о том, что SSRS 2014 не поддерживает его (я потерял дар речи, MICROSOFT!)

MS KBВы пытались разместить версию используемой сборки, чтобы у дизайнера отчетов был к ней доступ. Возможно, процесс развертывания выполняет проверку версии, используя папку .. \ Visual Studio 8 \ Common7 \ IDE \ PrivateAssemblies, а не папку сервера отчетов. Я уверен, что именно здесь SSRS ищет встроенные сборки во время разработки. Вероятно, это предупреждение, а не ошибка.

Ответы на вопрос(1)

Ваш ответ на вопрос