与无法加载文件或程序集“ Microsoft.SqlServer.BatchParser”有关的已发布Windows应用程序中发生异常

时间:2019-10-17 09:21:01

标签: c# sql-server windows visual-studio-2019

我正在Windows应用程序中工作,我需要通过编程来执行一些SQL脚本。

为此,我正在使用程序集 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 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位复选框的“任何CPU”
  • 用于发布的方法-ClickOnce

编辑1:

我强制用户必须在安装exe安装程序之前在其计算机上预安装.NET Framework 4.6

0 个答案:

没有答案