Ошибка ERROR_ASSEMBLY_NOT_FOUND при использовании MS Web Deploy с автоконфигурацией БД

При развёртывании веб-приложения C# (.NET 8.0) в IIS 10 (не Express) на Windows Server 2019 build 17763, при включении опций в дропдаунах Databases (Use this connection string at runtime) и Entity Framework Migrations (Apply this migration at startup) скрипт пакета развёртывания Microsoft Web Deploy Package, содержащего приложение, выбрасывает исключение и закрывает окно командной строки, даже если он [скрипт] запущен командой, не через Проводник. Без автоконфигурации базы данных всё нормально.

С помощью хвоста ИмяПроекта.deploy.cmd 2> errors.txt удалось отловить ошибку.

Код ошибки: ERROR_ASSEMBLY_NOT_FOUND Дополнительные сведения: Не удалось загрузить сборку "Microsoft.SqlServer.batchparser, Version.0.0.0, Culture=neutral, PublicKeyToken 845dcd8080cc91". Дополнительные сведения: http://go.microsoft.com/fwlink/?LinkId"1672#ERROR_ASSEMBLY_NOT_FOUND. Ошибка: Сборка для смешанного режима построена на основе версии "v2.0.50727" среды выполнения и не может быть загружена в среде выполнения 4.0 без дополнительных конфигурационных данных. Счетчик ошибок: 1.

В пуле приложений стоит в точности такая же версия CLR, как и в сообщении об ошибке. Думаю установка SQL Management Objects не принесет ожидаемых результатов, так как SMO относится к проектам исходного кода, а не к пакету развёртывания.

Вывод MSDeploy:


Ответы (2 шт):

Автор решения: Matvj

Если вы установили веб-развертывание вручную с помощью MSI, попробуйте переустановить с помощью установщика веб-платформы для установки веб-развертывания, что поможет вам установить необходимые зависимости.

→ Ссылка
Автор решения: Alex Smart

Решено. Необходимо было внести каталоги сайтов в исключения сканера Clam Sentinel. Sentinel определяет MSIL DLL как PE, и посему определяет файлы сайта как "файлы с повреждённым заголовком PE".

→ Ссылка