Я создал свой проект на Visual Studio 2008, также файлы RDLC на нем. Но теперь, когда я открываю решение на Visual Studio 2010 и хочу открыть файл RDLC, это показывает мне предупреждение.
Это немного забавно. Отчет был создан на VS2008, и VS2010 просит преобразовывать в формат 2008 года. Возможно, была проблема на моей установке VS2008, которая создала файлы RDLC с помощью некоторого древнего формата (2005??!)
Проблема, когда Вы подтверждаете с Кнопкой ОК, сделайте некоторый дизайн ajustments и запустите приложение, это бросает ошибку на 'Основной отчет':
ex.InnerException
{"The definition of the report 'Main Report' is invalid."}
[Microsoft.Reporting.DefinitionInvalidException]: {"The definition of the report 'Main Report' is invalid."}
Data: {System.Collections.ListDictionaryInternal}
HelpLink: null
InnerException: {"The report definition is not valid. Details: The report definition has an invalid target namespace 'http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition' which cannot be upgraded."}
Message: "The definition of the report 'Main Report' is invalid."
Source: "Microsoft.ReportViewer.Common"
StackTrace: " at Microsoft.Reporting.ReportCompiler.CompileReport(CatalogItemContext context, Byte[] reportDefinition, Boolean generateExpressionHostWithRefusedPermissions, ReportSnapshotBase& snapshot)\r\n at Microsoft.Reporting.StandalonePreviewStore.StoredReport.CompileReport()\r\n at Microsoft.Reporting.StandalonePreviewStore.StoredReport.get_Snapshot()\r\n at Microsoft.Reporting.StandalonePreviewStore.GetCompiledReport(CatalogItemContext context, Boolean rebuild, ReportSnapshotBase& snapshot)\r\n at Microsoft.Reporting.LocalService.GetCompiledReport(CatalogItemContext itemContext, Boolean rebuild, ReportSnapshotBase& snapshot)\r\n at Microsoft.Reporting.LocalService.CompileReport(CatalogItemContext itemContext, Boolean rebuild)\r\n at Microsoft.Reporting.WinForms.LocalReport.CompileReport()"
TargetSite: {Microsoft.ReportingServices.ReportProcessing.PublishingResult CompileReport(Microsoft.ReportingServices.Diagnostics.CatalogItemContext, Byte[], Boolean, Microsoft.ReportingServices.Library.ReportSnapshotBase ByRef)}
Вот обходной путь.
Не конвертируйте и не редактируйте свои отчеты в VS2010 (там что-то не так)
Установить Report Viewer 2008 Установить
SQL Server Business Intelligence Studio 2008
В SQL Server Business Intelligence создать пустой проект для ваших отчетов
Переименуйте расширения файлов на .rdl, добавьте существующие файлы rdl в этот проект.
Соберите и разверните свой проект