首页 > 解决方案 > 已发布的 Windows 应用程序中发生有关无法加载文件或程序集“Microsoft.SqlServer.BatchParser”的异常

问题描述

我正在开发需要通过编程执行一些 SQL 脚本的 Windows 应用程序。

为此,我正在使用程序集Microsoft.SqlServer.Smo, Version=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 ExecuteScriptQuery(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, Version=14.100.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' 或其依赖项之一。试图加载格式不正确的程序。

用于构建 Windows 应用程序的工具是 Visual Studio 2019,我正在使用:

编辑1:

我强制用户在安装 exe 设置之前在他们的机器上预安装 .NET Framework 4.6

标签: c#sql-serverwindowsvisual-studio-2019

解决方案


推荐阅读