Пользовательский код SSRS 2012 .NET Framework 4.0 не поддерживается

Я очень надеялся, что, поскольку SQL Server 2012 SQLCLR поддерживает .NET 4.0, службы отчетов SQL Server (SSRS) 2012 будут поддерживать пользовательские сборки кода .NET 4.0. При попытке загрузить rdl (через диспетчер отчетов или через RSBuild), который ссылается на сборки .NET 4.0, диспетчер отчетов выдает сообщение об ошибке

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

Есть ли что-то, что я могу настроить, чтобы заставить SSRS 2012 загружать сборки .NET 4.0? Будем ли мы ждать следующего крупного выпуска SQL Server, прежде чем увидим поддержку .NET 4.0 для пользовательских сборок в SSRS?


person Adam Caviness    schedule 01.06.2012    source источник
comment
Я считаю, что это для совместимости с Sharepoint 2010, который использует .net 3.51.   -  person Preet Sangha    schedule 01.06.2012
comment
Меня очень раздражает, что в документах MSDN нет списка необходимых рамки. Как будто они не были уверены до RTM.   -  person Adam Caviness    schedule 01.06.2012
comment
В этом документе MSDB сервис настроен на требование 3.5, а не в том, почему они не требуют 4.0!   -  person aweis    schedule 21.02.2013


Ответы (3)


Сейчас выпущена служба SSRS 2014, а пользовательский код по-прежнему не поддерживает .Net 4.0 Framework.

См. предварительные требования в документе «Требования к оборудованию и программному обеспечению для установки SQL Server 2014» (http://msdn.microsoft.com/en-us/library/ms143506(v=sql.120).aspx)

Очень забавно, что несколько дней назад SQL Server 2014 был выпущен в RTM и уже считается «устаревшим приложением» ребятами из .Net Framework, которые говорят:

.NET Framework 3.5 не включен по умолчанию в Windows 8 или Windows Server 2012, но вы можете загрузить и развернуть его для совместимости с устаревшими приложениями.

... см. «Вопросы по развертыванию Microsoft .NET Framework 3.5» (http://technet.microsoft.com/en-us/library/dn482066.aspx)

Я думаю, что большая проблема заключается в том, можно ли на самом деле привязать жизненный цикл поддержки .Net 3.5 SP1 к ОС, для которых он был компонентом по умолчанию. Что бы они ни говорили, я не думаю, что Microsoft прекратит поддержку .Net 3.5 до тех пор, пока SQL Server продолжает делать это обязательным условием в продукте, который они выпускают сегодня. Парни из .Net Framework не могут быть слишком довольны ленивыми парнями из SQL прямо сейчас...

person David Beavon    schedule 23.03.2014
comment
Просто перенацелил мою пользовательскую dll на 3.5 - спасибо за подробный ответ - person Vincent De Smet; 09.02.2015

На самом деле, я считаю, что отчеты с использованием сборок .Net 4.0 будут нормально работать в VS 2010 (PreviewProcessingService.exe)...

Кроме того, отчеты могут работать на вас при их развертывании в службах SSRS 2012 с пакетом обновления 1 (SP1) в интегрированном режиме SharePoint 2013.

Вот авторитетный ответ о том, когда и где .Net 4.0 CLR поддерживается SSRS: http://support.microsoft.com/kb/2869522/en-us

Те из нас, кто использует SSRS в автономном режиме (без SharePoint), могут на некоторое время застрять на .Net 2.0 CLR.

person David Beavon    schedule 05.04.2013

Я могу ошибаться, и различий может быть больше, но, сравнив отчеты, загруженные из служб отчетов, и «идентичные» отчеты, сделанные в Visual Studio с использованием .Net framework 4.0+, я думаю, что единственная разница заключается в том, что раздел ReportParametersLayout помещается в xml. Если вы вручную удалите это из xml-версии файла отчета, загрузите, надеюсь, это сработает для вас.

person Froggy    schedule 24.03.2017