В опубликованном приложении Windows возникла исключительная ситуация, связанная с не удалось загрузить файл или сборку Microsoft.SqlServer.BatchParser. - PullRequest
0 голосов
/ 17 октября 2019

Я работаю над приложением Windows, в котором мне нужно выполнить некоторый SQL-скрипт посредством программирования.

Для этого я использую сборку Microsoft.SqlServer.Smo, Версия = 14.100.0.0

Вот мой код

 /// <summary>
    /// Executes the script query.
    /// </summary>
    /// <param name="connectionString">The connection string.</param>
    /// <param name="dbScriptData">The database script data.</param>
    private void ExecuteScriptQeury(string connectionString, string dbScriptData)
    {
        Logger.LogInfo("DB Setup: script execution start");

        SqlConnection conn = new SqlConnection(connectionString);
        //-- create SQL Server instance ---
        Server server = new Server(new ServerConnection(conn));
        server.ConnectionContext.ExecuteNonQuery(dbScriptData); // execute sql script
    }

Этот же код хорошо работает в режиме отладки. когда я публикую этот код и устанавливаю его .exe на той же машине, он также работает там.

Но когда устанавливаю этот .exe на другую машину, я получаю исключение во время выполнения скрипта.

Вот исключение, которое я зафиксировал в журналах.

Сообщение об ошибке: не удалось загрузить файл или сборку 'Microsoft.SqlServer.BatchParser, версия = 14.100.0.0, культура = нейтральная, PublicKeyToken =89845dcd8080cc91 'или одной из его зависимостей. Была предпринята попытка загрузить программу с неверным форматом.

Инструмент, используемый для создания приложения Windows, - Visual Studio 2019, и я использую:

  • . NET Framework 4.6
  • Цель платформы: «Любой ЦП» с флажком «предпочитать 32 бита» не установлен
  • Метод публикации - ClickOnce

Редактировать 1:

Я сделал обязательным для пользователя предварительную установку .NET Framework 4.6 на своем компьютере перед установкой exe setup

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...