Как исправить исключение «Не удалось загрузить файл или сборку» Microsoft.SqlServer.Types, Version = 12.0.0.0 »в Windows настольном приложении - PullRequest
0 голосов
/ 14 апреля 2020

Приложение представляет собой довольно простое приложение WPF, которое позволяет пользователю создавать простые отчеты. Отчеты создаются с помощью Microsoft RDL C Report Designer и создаются с использованием служб Microsoft Reporting Services.

Приложение работало нормально более года, но пользователи начали сталкиваться с этой ошибкой только сегодня. Администраторы сервера говорят мне, что на этом сервере не было внесено никаких изменений, т. Е. Не было обновлений и новых установок программного обеспечения.

Мое приложение ссылается на Microsoft.SqlServer.Types, но для свойства Copy Local для него установлено значение True:

enter image description here

, и я убедился, что Microsoft.SqlServer.Types.dll (версии 12.0.0.0) скопирован в папку приложения.

Файл определения для отчета Reports/ShipmentSummaryReport.rdlc также присутствует в папке приложения и не изменялся с момента производственного развертывания.

Полный стек исключений следующий:

    Microsoft.Reporting.WinForms.LocalProcessingException: An error occurred during local report processing. 
---> Microsoft.Reporting.DefinitionInvalidException: The definition of the report 'Reports/ShipmentSummaryReport.rdlc' is invalid. 
---> Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: An unexpected error occurred in Report Processing. 
---> System.BadImageFormatException: Could not load file or assembly 'Microsoft.SqlServer.Types, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The module was expected to contain an assembly manifest.
    at Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.IntermediateFormatWriter.Write(Object obj, Boolean verify, Boolean assertOnInvalidType)

1 Ответ

0 голосов
/ 15 апреля 2020

Просмотрев разделы поддержки и форумы, я обнаружил, что на компьютере, на котором размещено приложение, отсутствует следующая папка и .dll:

C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.Types\12.0.0.0__89845dcd8080cc91\Microsoft.SqlServer.Types.dll

Я создал папку и скачал v 12.0. 0.0 из Microsoft.SqlServer.Types.dll из https://www.nuget.org/packages/Microsoft.SqlServer.Types/ в эту папку.

Перезапустил приложение и отчеты сработали.

...